一、聚寬數據html
1.在聚寬數據這個頁面能夠看到聚寬平臺集成好的各大類數據,以下圖,點擊能夠查看詳情與用法python
2.但實際上可能有些數據要在API文檔裏才比較容易能找到,好比龍虎榜數據等。這時用ctrl+f進行網頁搜索能夠快速搜索須要的數據。sql
- 數據庫
get_index_stocks(index_symbol, date=None)
獲取一個指數給定日期在平臺可交易的成分股列表,請點擊指數列表查看指數信息express
參數api
返回 返回股票代碼的list數組
示例函數
# 獲取全部滬深300的股票 stocks = get_index_stocks('000300.XSHG') log.info(stocks)
# 獲取20180301時,上證50指數(000016.XSHG)成分股 t=get_index_stocks("000016.XSHG","2018-03-01") print(t[0]) print(t) # 打印日誌以下。股票代碼在list中被打印出來的是unicode編碼字符串 # 600000.XSHG # [u'600000.XSHG', u'600016.XSHG', u'600019.XSHG', u'600028.XSHG', u'600029.XSHG', u'600030.XSHG', u'600036.XSHG', u'600048.XSHG', u'600050.XSHG', u'600104.XSHG', u'600111.XSHG', u'600309.XSHG', u'600340.XSHG', u'600518.XSHG', u'600519.XSHG', u'600547.XSHG', u'600606.XSHG', u'600837.XSHG', u'600887.XSHG', u'600919.XSHG', u'600958.XSHG', u'600999.XSHG', u'601006.XSHG', u'601088.XSHG', u'601166.XSHG', u'601169.XSHG', u'601186.XSHG', u'601211.XSHG', u'601229.XSHG', u'601288.XSHG', u'601318.XSHG', u'601328.XSHG', u'601336.XSHG', u'601390.XSHG', u'601398.XSHG', u'601601.XSHG', u'601628.XSHG', u'601668.XSHG', u'601669.XSHG', u'601688.XSHG', u'601766.XSHG', u'601800.XSHG', u'601818.XSHG', u'601857.XSHG', u'601878.XSHG', u'601881.XSHG', u'601985.XSHG', u'601988.XSHG', u'601989.XSHG', u'603993.XSHG']
股票財務數據這裏是指發股票的公司發佈的財務報表中的數據。能夠在聚寬數據-股票財務數據查看數據詳情。post
財務報表簡稱財報,是用來向股東彙報企業經營狀況的,上市公司必須按季度公佈財報,一年有四季因此財報依發佈次序一季報、半年報(也稱中報)、三季報、年報,而具體的發佈日期在必定期限內便可並不是固定,年報要求年度結束四個月內披露,半年報是上半年結束後兩個月內,一季報與三季報是季度結束後一個月內。特別的是像總市值、市盈率這種跟股價掛鉤的市值數據是天天更新的。ui
1.get_fundamentals方法介紹
get_fundamentals(query_object, date=None, statDate=None)
查詢財務數據,詳細的數據字段描述請點擊財務數據文檔查看
date和statDate參數只能傳入一個:
當 date 和 statDate 都不傳入時, 至關於使用 date 參數, date 的默認值下面會描述.
參數
返回 返回一個 [pandas.DataFrame], 每一行對應數據庫返回的每一行(多是幾個表的聯合查詢結果的一行), 列索引是你查詢的全部字段 注意:
2.財務數據文檔
市值數據
天天更新
表名: valuation
列名 | 列的含義 | 解釋 | 公式 |
---|---|---|---|
code | 股票代碼 | 帶後綴.XSHE/.XSHG | |
day | 日期 | 取數據的日期 | |
capitalization | 總股本(萬股) | 公司已發行的普通股股份總數(包含A股,B股和H股的總股本) | |
circulating_cap | 流通股本(萬股) | 公司已發行的境內上市流通、以人民幣兌換的股份總數(A股市場的流通股本) | |
market_cap | 總市值(億元) | 總市值是指在某特定的時間內,交易所掛牌交易所有證券(以總股本計)按當時價格計算的證券總值 | A股合計 * A股收盤價 + B股合計 * B股收盤價 * 外匯匯率 + H股合計 * H股收盤價 外匯匯率 + (總股本 - A股合計 - B股合計 - H股合計) 每股淨資產 |
circulating_market_cap | 流通市值(億元) | 流通市值指在某特定時間內當時可交易的流通股股數乘以當時股價得出的流通股票總價值。 | A股市場的收盤價*A股市場的流通股數 |
turnover_ratio | 換手率(%) | 指在必定時間內市場中股票轉手買賣的頻率,是反映股票流通性強弱的指標之一。 | 換手率=[指定交易日成交量(手)100/截至該日股票的自由流通股本(股)]100% |
pe_ratio | 市盈率(PE, TTM) | 每股市價爲每股收益的倍數,反映投資人對每元淨利潤所願支付的價格,用來估計股票的投資報酬和風險 | 市盈率(PE,TTM)=(股票在指定交易日期的收盤價 * 當日人民幣外匯掛牌價 * 截止當日公司總股本)/歸屬於母公司股東的淨利潤TTM。 |
pe_ratio_lyr | 市盈率(PE) | 以上一年度每股盈利計算的靜態市盈率. 股價/最近年度報告EPS | 市盈率(PE)=(股票在指定交易日期的收盤價 * 當日人民幣外匯牌價 * 截至當日公司總股本)/歸屬母公司股東的淨利潤。 |
pb_ratio | 市淨率(PB) | 每股股價與每股淨資產的比率 | 市淨率=(股票在指定交易日期的收盤價 * 當日人民幣外匯牌價 * 截至當日公司總股本)/歸屬母公司股東的權益。 |
ps_ratio | 市銷率(PS, TTM) | 市銷率爲股票價格與每股銷售收入之比,市銷率越小,一般被認爲投資價值越高。 | 市銷率TTM=(股票在指定交易日期的收盤價 * 當日人民幣外匯牌價 * 截至當日公司總股本)/營業總收入TTM |
pcf_ratio | 市現率(PCF, 現金淨流量TTM) | 每股市價爲每股現金淨流量的倍數 | 市現率=(股票在指定交易日期的收盤價 * 當日人民幣外匯牌價 * 截至當日公司總股本)/現金及現金等價物淨增長額TTM |
3.示例
# 1.查詢'000001.XSHE'的全部市值數據, 時間是2015-10-15 q = query( valuation ).filter( valuation.code == '000001.XSHE' ) df = get_fundamentals(q, '2015-10-15') # 打印出總市值 log.info(df['market_cap'][0]) # 2.獲取多隻股票在某一日期的市值, 利潤 df = get_fundamentals(query( valuation, income ).filter( # 這裏不能使用 in 操做, 要使用in_()函數 valuation.code.in_(['000001.XSHE', '600000.XSHG']) ), date='2015-10-15') # 3.選出全部的總市值大於1000億元, 市盈率小於10, 營業總收入大於200億元的股票 df = get_fundamentals(query( valuation.code, valuation.market_cap, valuation.pe_ratio, income.total_operating_revenue ).filter( valuation.market_cap > 1000, valuation.pe_ratio < 10, income.total_operating_revenue > 2e10 ).order_by( # 按市值降序排列 valuation.market_cap.desc() ).limit( # 最多返回100個 100 ), date='2015-10-15') # 4.使用 or_ 函數: 查詢總市值大於1000億元 **或者** 市盈率小於10的股票 from sqlalchemy.sql.expression import or_ get_fundamentals(query( valuation.code ).filter( or_( valuation.market_cap > 1000, valuation.pe_ratio < 10 ) )) # 5.查詢平安銀行2014年四個季度的季報, 放到數組中 q = query( income.statDate, income.code, income.basic_eps, balance.cash_equivalents, cash_flow.goods_sale_and_service_render_cash ).filter( income.code == '000001.XSHE', ) rets = [get_fundamentals(q, statDate='2014q'+str(i)) for i in range(1, 5)] # 6.查詢平安銀行2014年的年報 q = query( income.statDate, income.code, income.basic_eps, cash_flow.goods_sale_and_service_render_cash ).filter( income.code == '000001.XSHE', ) ret = get_fundamentals(q, statDate='2014')