


Apakah cara terbaik untuk mendapatkan data stok menggunakan Python?
Aug 26, 2023 pm 01:41 PMDalam artikel ini, kita akan mempelajari cara terbaik untuk mendapatkan data stok menggunakan Python.
Perpustakaan Pythonyfinance akan digunakan untuk mendapatkan semula data harga pasaran saham semasa dan sejarah daripada Yahoo Finance.
Pasang Yahoo Finance (yfinance)
Salah satu platform terbaik untuk data pasaran saham ialah Yahoo Finance. Cuma muat turun set data daripada tapak web Yahoo Finance dan gunakan perpustakaan yfinance dan pengaturcaraan Python untuk mengaksesnya.
Anda boleh memasang yfinance dengan bantuan pip, anda hanya perlu membuka command prompt dan taip arahan berikut untuk menunjukkan sintaks:
Tatabahasa
pip install yfinance
Bahagian terbaik tentang perpustakaan yfinance ialah ia percuma untuk digunakan dan tidak memerlukan kunci API
Bagaimana untuk mendapatkan data harga saham semasa
Kita perlu mencari simbol stok yang boleh digunakan untuk pengekstrakan data. kami akan tunjukkan Harga pasaran semasa dan harga penutup sebelumnya GOOGL dalam contoh di bawah.
Contoh
Program berikut mengembalikan nilai harga pasaran, nilai penutup sebelumnya dan kod stok Gunakan nilai daripada modul yfinance -
import yfinance as yf ticker = yf.Ticker('GOOGL').info marketPrice = ticker['regularMarketPrice'] previousClosePrice = ticker['regularMarketPreviousClose'] print('Ticker Value: GOOGL') print('Market Price Value:', marketPrice) print('Previous Close Price Value:', previousClosePrice)
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
Ticker Value: GOOGL Market Price Value: 92.83 Previous Close Price Value: 93.71
Bagaimana untuk mendapatkan data sejarah harga saham
Dengan memberikan tarikh mula, tarikh tamat dan ticker, kami boleh mendapatkan data harga sejarah yang lengkap.
Contoh
Program berikut mengembalikan data harga saham antara tarikh mula dan tarikh tamat -
# importing the yfinance package import yfinance as yf # giving the start and end dates startDate = '2015-03-01' endDate = '2017-03-01' # setting the ticker value ticker = 'GOOGL' # downloading the data of the ticker value between # the start and end dates resultData = yf.download(ticker, startDate, endDate) # printing the last 5 rows of the data print(resultData.tail())
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
[*********************100%***********************] 1 of 1 completed Open High Low Close Adj Close Volume Date 2017-02-22 42.400002 42.689499 42.335499 42.568001 42.568001 24488000 2017-02-23 42.554001 42.631001 42.125000 42.549999 42.549999 27734000 2017-02-24 42.382500 42.417999 42.147999 42.390499 42.390499 26924000 2017-02-27 42.247501 42.533501 42.150501 42.483501 42.483501 20206000 2017-02-28 42.367500 42.441502 42.071999 42.246498 42.246498 27662000
Contoh di atas akan mendapatkan semula data harga saham dari 2015-03-01 hingga 2017-03-01.
Jika anda ingin mengekstrak data daripada berbilang kod pada masa yang sama, sila berikan kod sebagai rentetan yang dipisahkan oleh ruang.
Tukar data untuk analisis
Tarikh ialah indeks set data, bukan lajur set data dalam contoh di atas. Indeks ini mesti ditukar kepada lajur sebelum sebarang analisis data boleh dilakukan ke atasnya. Begini caranya -
Contoh
Atur cara berikut menambah nama lajur pada data stok antara tarikh mula dan tamat -
import yfinance as yf # giving the start and end dates startDate = '2015-03-01' endDate = '2017-03-01' # setting the ticker value ticker = 'GOOGL' # downloading the data of the ticker value between # the start and end dates resultData = yf.download(ticker, startDate, endDate) # Setting date as index resultData["Date"] = resultData.index # Giving column names resultData = resultData[["Date", "Open", "High","Low", "Close", "Adj Close", "Volume"]] # Resetting the index values resultData.reset_index(drop=True, inplace=True) # getting the first 5 rows of the data print(resultData.head())
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
[*********************100%***********************] 1 of 1 completed Date Open High Low Close Adj Close Volume 0 2015-03-02 28.350000 28.799500 28.157499 28.750999 28.750999 50406000 1 2015-03-03 28.817499 29.042500 28.525000 28.939501 28.939501 50526000 2 2015-03-04 28.848499 29.081499 28.625999 28.916500 28.916500 37964000 3 2015-03-05 28.981001 29.160000 28.911501 29.071501 29.071501 35918000 4 2015-03-06 29.100000 29.139000 28.603001 28.645000 28.645000 37592000
Data yang ditukar di atas adalah sama dengan data yang kami perolehi daripada Yahoo Finance
Simpan data yang diperoleh dalam fail CSV
Kaedahto_csv() boleh digunakan untuk mengeksport objek DataFrame ke fail CSV. Kod berikut akan membantu anda mengeksport data dalam fail CSV kerana data yang ditukar di atas sudah pun dalam bingkai data panda.
# importing yfinance module with an alias name import yfinance as yf # giving the start and end dates startDate = '2015-03-01' endDate = '2017-03-01' # setting the ticker value ticker = 'GOOGL' # downloading the data of the ticker value between # the start and end dates resultData = yf.download(ticker, startDate, endDate) # printing the last 5 rows of the data print(resultData.tail()) # exporting/converting the above data to a CSV file resultData.to_csv("outputGOOGL.csv")
Output
Apabila dilaksanakan, program di atas akan menjana output berikut -
[*********************100%***********************] 1 of 1 completed Open High Low Close Adj Close Volume Date 2017-02-22 42.400002 42.689499 42.335499 42.568001 42.568001 24488000 2017-02-23 42.554001 42.631001 42.125000 42.549999 42.549999 27734000 2017-02-24 42.382500 42.417999 42.147999 42.390499 42.390499 26924000 2017-02-27 42.247501 42.533501 42.150501 42.483501 42.483501 20206000 2017-02-28 42.367500 42.441502 42.071999 42.246498 42.246498 27662000
Visualkan data
yfinance Modul Python ialah salah satu yang paling mudah untuk disediakan, mengumpul data dan melakukan aktiviti analisis data. Menggunakan pakej seperti Matplotlib, Seaborn atau Bokeh, anda boleh memvisualisasikan hasil dan menangkap cerapan.
Anda juga boleh memaparkan visualisasi ini terus pada halaman web menggunakan PyScript.
Kesimpulan
Dalam artikel ini, kami mempelajari cara menggunakan modul Python yfinance untuk mendapatkan data stok terbaik. Selain itu, kami mempelajari cara mendapatkan semua data stok untuk tempoh masa tertentu, cara melakukan analisis data dengan menambahkan indeks dan lajur tersuai serta cara menukar data ini kepada fail CSV.
Atas ialah kandungan terperinci Apakah cara terbaik untuk mendapatkan data stok menggunakan Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Apakah kelebihan dan kekurangan templat?

Google AI mengumumkan Gemini 1.5 Pro dan Gemma 2 untuk pembangun

Dengan hanya $250, pengarah teknikal Hugging Face mengajar anda cara memperhalusi Llama 3

Panduan lengkap untuk penyahpepijatan dan analisis fungsi golang

Kongsi beberapa rangka kerja projek berkaitan AI dan LLM sumber terbuka .NET

Bagaimana anda bertanya kepadanya Deepseek
