1.安裝jqdata
pip install jqdatasdk
2.登錄jqdata
from jqdatasdk import *
auth('賬號','密碼') #賬號是申請時所填寫的手機號;密碼爲聚寬官網登錄密碼,新申請用戶默認爲手機號後6位
3. 一些簡單API
3.1 得到全市場股票
#將所有股票列表轉換成數組,get_all_securities還有一個date參數,這樣可以獲取那一天的所有股票
stocks = list(get_all_securities(['stock']).index)
3.2 得到所有交易日
get_all_trade_days()
3.3 得到行情數據
get_price(security, start_date=None, end_date=None, frequency='daily', fields=None, skip_paused=False, fq='pre', count=None)
- 獲取一支或者多隻股票、期貨、指數場內基金、50etf期權的實時行情和歷史行情, 按天或者按分鐘;
- frequency爲非一天或者一分鐘,請使用get_bars;
- 取多支標的的數據時,不要獲取交易時段不同的標的(例如:不同交易時間的期貨標的),否則會報錯;
- 這裏在使用時注意 end_date 的設置,不要引入未來的數據;
- 標識時間爲09:32:00的1分鐘k線,其數據時間爲09:31:00至09:31:59;
- 交易所沒有提供分鐘級別數據,分鐘數據需要再次處理,獲取實時行情數據時,爲了可以保證獲取當前分鐘的數據,請在第10秒後獲取分鐘數據
這裏注意下skip_paused
是否跳過不交易日期(包括停牌, 未上市或者退市後的日期). 如果不跳過, 停牌時會使用停牌前的數據填充(具體請看SecurityUnitData的paused屬性), 上市前或者退市後數據都爲 nan, 但要注意:
默認爲 False
當 skip_paused 是 True 時, 只能取一隻股票的信息 關於停牌: 因爲此API可以獲取多隻股票的數據, 可能有的股票停牌有的沒有, 爲了保持時間軸的一致,我們默認沒有跳過停牌的日期, 停牌時使用停牌前的數據填充(請看 [SecurityUnitData] 的 paused 屬性). 如想跳過, 請使用 skip_paused=True 參數, 同時只取一隻股票的信息
3.4獲取財務數據
get_fundamentals(query_object, date=None, statDate=None)
# 獲取多隻股票在某一日期的市值, 利潤
df = get_fundamentals(query(
valuation, income
).filter(
# 這裏不能使用 in 操作, 要使用in_()函數
valuation.code.in_(['000001.XSHE', '600000.XSHG'])
), date='2015-10-15')
3.5 獲取集合競價數據
get_call_auction(security, start_date, end_date, fields=None)
還有很多功能,詳細的查看它的官方文檔https://www.joinquant.com/help/api/help?name=JQData