国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python獲取股票數(shù)據(jù)——以滬深300成分股為例

這篇具有很好參考價值的文章主要介紹了Python獲取股票數(shù)據(jù)——以滬深300成分股為例。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

需求是下載比如從2020-01-01到2022-12-31區(qū)間的滬深300成分股每支股票的日K線數(shù)據(jù),沒錯這是個面板數(shù)據(jù),原本以為直接通過Python接口可以直接下載到,因為之前找的上證綜指啥的用R的pedquant都是直接獲取的(看來因為是單支)。
搗鼓了半天,還是我想的簡單了……

試過Akshare、Tushare、Baostock以及聚寬量化平臺下載,下面總結(jié)一下下載心得 o_0

1、Baostock

那就先說最后選用的這個開源的證券數(shù)據(jù)平臺Baostock
鏈接附此 www.baostock.com
通過python API獲取證券數(shù)據(jù)信息

# 豆瓣源下載包
pip install -i https://pypi.douban.com/simple baostock

首先獲取滬深300成分股每支股票的code和code_name
日期這里就不做額外的要求了,默認更新到的哪天

import pandas as pd
import numpy as np
import baostock as bs

# 登陸系統(tǒng)
lg = bs.login()
# 顯示登陸返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)

# 獲取滬深300成分股
rs = bs.query_hs300_stocks()
print('query_hs300 error_code:'+rs.error_code)
print('query_hs300  error_msg:'+rs.error_msg)

# 打印結(jié)果集
hs300_stocks = []
while (rs.error_code == '0') & rs.next():
    # 獲取一條記錄,將記錄合并在一起
    hs300_stocks.append(rs.get_row_data())
result = pd.DataFrame(hs300_stocks, columns=rs.fields)
# 結(jié)果集輸出到csv文件
result.to_csv("D:/hs300_stocks.csv", encoding="gbk", index=False)
print(result)

# 登出系統(tǒng)
bs.logout()

獲取到的300支股票名

login success!
login respond error_code:0
login respond  error_msg:success
query_hs300 error_code:0
query_hs300  error_msg:success
     updateDate       code code_name
0    2023-03-20  sh.600000      浦發(fā)銀行
1    2023-03-20  sh.600009      上海機場
2    2023-03-20  sh.600010      包鋼股份
3    2023-03-20  sh.600011      華能國際
4    2023-03-20  sh.600015      華夏銀行
..          ...        ...       ...
295  2023-03-20  sz.300896       愛美客
296  2023-03-20  sz.300919      中偉股份
297  2023-03-20  sz.300957       貝泰妮
298  2023-03-20  sz.300979      華利集團
299  2023-03-20  sz.300999       金龍魚

[300 rows x 3 columns]
logout success!

接著我們導入獲取的股票名csv

hs=pd.read_csv('D:/hs300_stocks.csv',encoding='gbk')

通過循環(huán)300次code進行日K線數(shù)據(jù)獲取

#### 登陸系統(tǒng) ####
lg = bs.login()
# 顯示登陸返回信息
print('login respond error_code:'+lg.error_code)
print('login respond  error_msg:'+lg.error_msg)

# 詳細指標參數(shù),參見“歷史行情指標參數(shù)”章節(jié);“分鐘線”參數(shù)與“日線”參數(shù)不同?!胺昼娋€”不包含指數(shù)。
# 分鐘線指標:date,time,code,open,high,low,close,volume,amount,adjustflag
# 周月線指標:date,code,open,high,low,close,volume,amount,adjustflag,turn,pctChg
for i in range(300):
    rs = bs.query_history_k_data_plus(hs['code'][i],
    "date,code,open,high,low,close,preclose,volume,amount,turn,tradestatus,pctChg,isST",
    start_date='2021-01-01', end_date='2023-07-01',
    # 日K線,adjustflag="3"不復權(quán)
    frequency="d", adjustflag="3")
    print(f'query_history_k_data_plus respond error_code{i}:'+rs.error_code)
    print(f'query_history_k_data_plus respond  error_msg{i}:'+rs.error_msg)
    #### 打印結(jié)果集 ####
    data_list = []
    while (rs.error_code == '0') & rs.next():
        # 獲取一條記錄,將記錄合并在一起
        data_list.append(rs.get_row_data())
    result = pd.DataFrame(data_list, columns=rs.fields)
    # to_csv中 mode='a'進行數(shù)據(jù)追加,去掉索引和表頭
    result.to_csv("D:\hs300.csv",mode='a',index=False,header=False)
#### 登出系統(tǒng) ####
bs.logout()

來看一下運行情況

login success!
login respond error_code:0
login respond  error_msg:success
query_history_k_data_plus respond error_code0:0
query_history_k_data_plus respond  error_msg0:success
query_history_k_data_plus respond error_code1:0
query_history_k_data_plus respond  error_msg1:success
query_history_k_data_plus respond error_code2:0
query_history_k_data_plus respond  error_msg2:success
......
query_history_k_data_plus respond error_code299:0
query_history_k_data_plus respond  error_msg299:success
logout success!

300支已就位,數(shù)據(jù)還是比較多的,除了常見的open、high、low、close等,還有turn換手率、tradestatus交易狀態(tài)(1:正常交易 0:停牌)、pctChg漲跌幅、isST是否ST股(1是,0否)

python 股票接口,Python金融量化,python,股票量化,數(shù)據(jù)獲取
想要其他指標還可以自己加,比如peTTM滾動市盈率、pbMRQ市凈率等;
或者分鐘線、周月線,通過frequency=" "修改,默認為d,日k線;w=周、m=月、5=5分鐘、60=60分鐘k線數(shù)據(jù)等

Baostock真的是很良心了,相比之下其余三個總是缺胳膊少腿

2、Tushare pro版

其實一開始比較想用的是Tushare,因為相對來說Tushare獲取同樣數(shù)據(jù)的代碼量比Baostock少多了,也不用登錄退出啥的,直接一步到位

鏈接附此 Tushare數(shù)據(jù)平臺

需要先注冊個賬號,獲取個人Token

python 股票接口,Python金融量化,python,股票量化,數(shù)據(jù)獲取

在上述已經(jīng)獲得滬深300成分股的code條件下,以獲取兩支股票為例,代碼量是相當?shù)纳?/p>

import tushare as ts
pro = ts.pro_api('your token')  # 復制上面的接口token就好
df1=pro.daily(ts_code='600000.sh,600009.sh', start_date='20220101', end_date='20220701')
df1

獲取到的數(shù)據(jù)也是比較齊全的,排列跟Baostock不同,按同一時間的所有股票先排
python 股票接口,Python金融量化,python,股票量化,數(shù)據(jù)獲取
但是這個平臺特別坑的一點就是……我就下載了沒幾次怎么就下不下來了?。?!
后面換了好幾個時間繼續(xù)下也還是空的,不知道是積分不夠還是咋滴,還是棄了……

3、AKshare

這個接口的代碼量也很少,少的我心動,獲取到的數(shù)據(jù)名還都是中文的

import akshare as ak
df = ak.index_zh_a_hist(symbol = "000905", period = "daily", start_date = "20200101", end_date = "20221231" )
df

python 股票接口,Python金融量化,python,股票量化,數(shù)據(jù)獲取
然而……
一時間沒找到股票code在這里對應(yīng)的symbol,沒后綴名,連前綴的都不一樣,統(tǒng)一code麻煩,還是算了

4、聚寬量化平臺

鏈接附此 聚寬Join Quant

本來都已經(jīng)注冊好了,看著代碼量也不是很多,最重要的是它可以動態(tài)地獲取滬深300每一天包括的成分股,然后根據(jù)獲取到的code下載數(shù)據(jù),也免了上面這一頓code_name獲取操作

可申請一年試用,就可以獲取數(shù)據(jù),但是好像數(shù)據(jù)種類不是很多,示例只看到常規(guī)的open、close那6個,不知道能否改參數(shù)
python 股票接口,Python金融量化,python,股票量化,數(shù)據(jù)獲取

遍歷日期,通過動態(tài)獲取滬深300成分股code來獲取數(shù)據(jù),有需要的可以試試

#導入聚寬數(shù)據(jù)的sdk
import jqdatasdk as jd
from datetime import date,timedelta
jd.auth("賬號","密碼")
#數(shù)據(jù)儲存路徑
filename='D:\jukuan.csv' 

#遍歷歷史日期,并逐步導入數(shù)據(jù)到csv文件
for i in range(30):
    trade_date=date(2020,1,2)+timedelta(days=i)
    stocks=jd.get_index_stocks('000300.XSHG', date=trade_date)
    df=jd.get_price(stocks,start_date=trade_date, end_date=trade_date,
                    frequency='daily',skip_paused=False).to_frame()
    df.to_csv(filename,mode='a',header=None)

總的來看還是選擇了Baostock,對這些平臺也不是很了解,可能有些參數(shù)沒注意到,如果有更好獲取股票數(shù)據(jù)的方法,望留言分享一起學習,不勝感激!文章來源地址http://www.zghlxwxcb.cn/news/detail-842136.html

到了這里,關(guān)于Python獲取股票數(shù)據(jù)——以滬深300成分股為例的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 滬深300股指期權(quán)一個點多少錢?

    滬深300股指期權(quán)一個點多少錢?

    滬深300股指期權(quán)是一種以滬深300指數(shù)為標的物的期權(quán)合約。它允許投資者在未來某個約定時間以約定價格(行權(quán)價)買入或賣出滬深300指數(shù),交易滬深300股指期權(quán)的時候是需要關(guān)注它點數(shù)跳動,那么滬深300股指期權(quán)一個點多少錢?以上素材來源于:財順期權(quán)~ 一、滬深300股指

    2024年03月11日
    瀏覽(23)
  • 滬深300ETF期權(quán)和其他期權(quán)有什么不同?

    滬深300ETF期權(quán)和其他期權(quán)有什么不同?

    滬深300ETF期權(quán)與其他期權(quán)在標的資產(chǎn)、交易特點和風險特征等方面存在一些不同。 1. 標的資產(chǎn): 滬深300ETF期權(quán): 滬深300ETF期權(quán)的標的資產(chǎn)是滬深300ETF,即上證50ETF(上證50指數(shù)ETF)。滬深300ETF跟蹤滬深300指數(shù),代表著中國A股市場中具有代表性的300只股票。 滬深300ETF期權(quán)合約

    2024年02月04日
    瀏覽(21)
  • Python獲取全部股票數(shù)據(jù)

    Python獲取全部股票數(shù)據(jù)

    目前整個滬深京A股市場總共有5000余支股票,那么我們怎么能獲取到這些股票的數(shù)據(jù)(股價、市值、市盈率、市凈率等)呢? 小編常用的有三個網(wǎng)站,分別是東方財富、同花順、雪球,請自行查閱。 我們以東方財富為例,打開東方財富行情中心,找到全部股票數(shù)據(jù)后,找到對

    2024年02月15日
    瀏覽(20)
  • 如何用 python 獲取實時的股票數(shù)據(jù)?

    Web爬取 Web爬取是指從網(wǎng)站上獲取特定數(shù)據(jù)的過程。我們通常使用Python的Requests庫來訪問網(wǎng)站。網(wǎng)站會以HTML格式返回相應(yīng)數(shù)據(jù),我們需要使用Beautiful Soup庫將HTML格式的數(shù)據(jù)轉(zhuǎn)換為Python對象進行操作。 Python中,我們可以使用OpenPyXL庫來讀寫Excel文件。使用OpenPyXL,我們可以創(chuàng)建、

    2024年02月20日
    瀏覽(17)
  • 通過python 獲取股票數(shù)據(jù)的API接口

    用法:?ContextInfo.get_bar_timetag (index)。 釋義:獲取當前K線對應(yīng)時間的時間戳。 參數(shù):number:K線索引號。 返回:number。 示例: 用法:ContextInfo.get_ sector(sector, realtime)。 釋義:獲取板塊成份股,只支持取指數(shù)成份股。

    2024年02月11日
    瀏覽(23)
  • chatgpt賦能python:Python如何獲取股票數(shù)據(jù)——詳細介紹

    Python作為一款專業(yè)的編程語言,其應(yīng)用領(lǐng)域十分廣泛,其中之一就是股票數(shù)據(jù)的獲取。本文將詳細介紹Python如何獲取股票數(shù)據(jù)的方法,幫助大家快速獲取所需的股票信息。 pandas-datareader是一款很受歡迎的Python庫,可以用來從多個數(shù)據(jù)源獲取金融數(shù)據(jù)。使用這個庫可以輕松獲取

    2024年02月11日
    瀏覽(28)
  • python金融數(shù)據(jù)分析和可視化--03利用Akshare獲取股票數(shù)據(jù)

    AKShare 是基于 Python 的財經(jīng)數(shù)據(jù)接口庫,目的是實現(xiàn)對股票、期貨、期權(quán)、基金、外匯、債券、指數(shù)、加密貨幣等金融產(chǎn)品的基本面數(shù)據(jù)、實時和歷史行情數(shù)據(jù)、衍生數(shù)據(jù)從數(shù)據(jù)采集、數(shù)據(jù)清洗到數(shù)據(jù)落地的一套工具,主要用于學術(shù)研究目的。 AKShare 的特點是獲取的是相對權(quán)威

    2024年02月05日
    瀏覽(35)
  • 利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖

    利用Python和Selenium獲取雪球網(wǎng)滬深上市公司日k線走勢圖

    本文介紹作者如何爬取雪球網(wǎng)(https://xueqiu.com/)滬深股市滬深一覽中的上市公司日k線走勢圖并截圖保存至本地~ 歡迎關(guān)注作者公眾號,追蹤更多更新更有價值的內(nèi)容。 項目用于獲取雪球網(wǎng)滬深股市滬深一覽列表中(圖1)上市公司的日K線圖(圖2)。 圖1 滬深股市-滬深一覽

    2024年04月10日
    瀏覽(48)
  • 股票交易數(shù)據(jù)接口獲取股票基礎(chǔ)信息數(shù)據(jù)的過程

    接口:https://gitee.com/metatradeapi,可以通過數(shù)據(jù)工具調(diào)試和查看數(shù)據(jù) 描述:獲取基礎(chǔ)信息數(shù)據(jù),包括股票代碼、名稱、上市日期、退市日期等 輸入?yún)?shù) 名稱 類型 必選 描述 is_hs str N 是否滬深港通標的,N否 H滬股通 S深股通 list_status str N 上市狀態(tài) L上市 D退市 P暫停上市,默認是

    2024年02月02日
    瀏覽(23)
  • 新浪股票接口獲取歷史數(shù)據(jù)

    新浪股票接口獲取歷史數(shù)據(jù)

    這兩天做了一個調(diào)用新浪股票接口獲取實時以及歷史股票數(shù)據(jù)的應(yīng)用,因為新浪沒有公開關(guān)于其接口的官方文檔,所以通過各種百度差了很多關(guān)于新浪股票接口的使用,不過大家基本都是轉(zhuǎn)載或者直接復制,對于實時數(shù)據(jù)的獲取講的很詳細,但是缺少獲取歷史數(shù)據(jù)的方法。

    2024年02月10日
    瀏覽(31)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包