Python量化交易09——使用证券宝获取金融行情数据(baostock)
生活随笔
收集整理的這篇文章主要介紹了
Python量化交易09——使用证券宝获取金融行情数据(baostock)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
接上一篇文章介紹怎么用Tushare獲取日k數據后,本章教大家怎么用證券寶獲取數據.
baostock 的官網鏈接:A股K線數據 - www.baostock.com這是免費的一個庫,數據種類也很很豐富,挺好用的。
日K?
導入包:
import baostock as bs import pandas as pd import numpy as np自定義一個獲取K線數據的函數:
def get_stocks_daily(stocks=['sh.601318'],start_date='2022-04-01',end_date='2023-03-29'):lg = bs.login()df_results=pd.DataFrame()for stock in stocks:rs_result = bs.query_history_k_data_plus(stock,fields="date,code,open,high,low,close,preclose,volume,amount,adjustflag,turn,tradestatus,pctChg,isST"\, start_date=start_date,end_date=end_date, frequency="d", adjustflag="3")df_result = rs_result.get_data()#df_result=df_result.set_index('date')df_results=pd.concat([df_results,df_result],ignore_index=True)print(f"{stock}獲取完成")bs.logout()cols_to_convert = [col for col in df_results.columns if col != 'code' and col!='date']df_results['date']=pd.to_datetime(df_results['date'])df_results[cols_to_convert] = df_results[cols_to_convert].astype('float64')return df_results我這里的時間是從2022-07-01到2023-03-01的,可以改,
假設我們要獲取的股票列表為:
stocks_lst=['sh.601318', 'sz.001696', 'sz.000002', 'sz.000063', 'sz.002415', 'sz.000001', 'sh.601888', 'sh.601166', 'sh.601668', 'sh.601628', 'sh.600547', 'sh.601688', 'sh.600030', 'sh.603259', 'sh.600585', 'sh.601211']傳入上面的函數,就可以得到數據表了
get_stocks_daily(stocks=stocks_lst,start_date='2022-07-01',end_date='2023-03-01')?想獲取周K或者月K怎么辦呢,很簡單,改一下frequency參數就行了:
- frequency:數據類型,默認為d,日k線;d=日k線、w=周、m=月、5=5分鐘、15=15分鐘、30=30分鐘、60=60分鐘k線數據,不區分大小寫;指數沒有分鐘線數據;周線每周最后一個交易日才可以獲取,月線每月最后一個交易日才可以獲取。
指數?
還可以獲取一些指數的數據:
通過API接口獲取指數(綜合指數、規模指數、一級行業指數、二級行業指數、策略指數、成長指數、價值指數、主題指數)K線數據。
?獲取
index_dfs=get_stocks_daily(stocks=index_lst)查看前五行
index_dfs.head()?
查看數據信息:
index_dfs.info()?
每個變量對應的意思,可以看官網的講解:
證券寶的數據種類也是很多的:
?官網上的代碼樣例都很清楚,就不多說了。
總結
以上是生活随笔為你收集整理的Python量化交易09——使用证券宝获取金融行情数据(baostock)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实战打靶集锦-016-lampiao
- 下一篇: opensource threat In