入门指南¶
本页面给用户提供了一个简洁清晰的入门指南,涵盖各个功能模块
DataApi¶
本产品提供了金融数据api,方便用户调用接口获取各种数据,通过python的api调用接口,返回DataFrame格式的数据和消息,以下是用法
导入接口¶
在python程序里面导入module,然后用注册的用户帐号登录就可以使用行情和参考数据的接口来获取数据了
引入模块¶
import data_api
from data_api import DataApi
登录数据服务器¶
api = DataApi()
api.login("demo", "666666") # 示例账户,用户需要改为自己注册的账户
行情数据获取¶
获取日线行情¶
代码示例:
df, msg = api.daily(
symbol="600832.SH, 600030.SH",
start_date="2012-10-26",
end_date="2012-11-30",
fields="",
adjust_mode="post")
结果示例(前5条记录):
close
code
high
low
oi
open
settle
symbol
trade_date
trade_status
turnover
volume
vwap
5.09
600832
5.24
5.08
NaN
5.23
NaN
600832.SH
20121026
交易
2.779057e+07
5381800 5.16
5.10
600832
5.15
5.08
NaN
5.11
NaN
600832.SH
20121029
交易
1.320333e+07
2582557 5.11
5.11
600832
5.18
5.08
NaN
5.12
NaN
600832.SH
20121030
交易
1.622705e+07
3170615 5.12
5.11
600832
5.14
5.09
NaN
5.12
NaN
600832.SH
20121031
交易
1.072007e+07
2097770 5.11
5.18
600832
5.20
5.12
NaN
5.12
NaN
600832.SH
20121101
交易
1.972100e+07
3814712 5.17
获取分钟线行情(不含ask,bid信息)¶
代码示例:
df,msg = api.bar(
symbol="600030.SH",
trade_date=20170928,
freq="5m",
start_time="00:00:00",
end_time="16:00:00",
fields="")
结果示例(前5条记录):
close | code | date | freq | high | low | oi | open | settle | symbol | time | trade_date | turnover | volume | vwap |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
18.05 | 600030 | 20170928 | 5m | 18.08 | 18.00 | NaN | 18.01 | NaN | 600030.SH | 93500 | 20170928 | 13576973.0 | 752900 | 18.032903 |
18.03 | 600030 | 20170928 | 5m | 18.06 | 18.01 | NaN | 18.04 | NaN | 600030.SH | 94000 | 20170928 | 16145566.0 | 895110 | 18.037522 |
18.04 | 600030 | 20170928 | 5m | 18.05 | 18.02 | NaN | 18.03 | NaN | 600030.SH | 94500 | 20170928 | 11024829.0 | 611400 | 18.032105 |
17.99 | 600030 | 20170928 | 5m | 18.05 | 17.97 | NaN | 18.04 | NaN | 600030.SH | 95000 | 20170928 | 30021003.0 | 1667190 | 18.006948 |
18.02 | 600030 | 20170928 | 5m | 18.03 | 17.97 | NaN | 17.98 | NaN | 600030.SH | 95500 | 20170928 | 13691203.0 | 761161 | 17.987263 |
获取分钟线行情(包含ask,bid信息)¶
代码示例:
df,msg = api.bar_quote(
symbol="000001.SH,cu1709.SHF",
start_time = "09:56:00",
end_time="13:56:00",
trade_date=20170823,
freq= "5m",
fields="open,high,low,last,volume")
结果示例(前5条记录):
high | low | symbol | time | trade_date | volume |
---|---|---|---|---|---|
3294.3371 | 3291.7666 | 000001.SH | 100000 | 20170823 | 493058300 |
3292.3162 | 3289.5202 | 000001.SH | 100500 | 20170823 | 492695100 |
3290.4118 | 3288.3906 | 000001.SH | 101000 | 20170823 | 458298100 |
3289.2133 | 3285.9129 | 000001.SH | 101500 | 20170823 | 535085000 |
3287.4892 | 3284.6076 | 000001.SH | 102000 | 20170823 | 426738700 |
基本数据获取¶
获取证券基础信息¶
代码示例:
df, msg = api.query(
view="lb.instrumentInfo",
fields="status,list_date, fullname_en, market",
filter="inst_type=&status=1&symbol=",
data_format='pandas')
结果示例(前5条记录):
list_date | market | name | status | symbol |
---|---|---|---|---|
20021231 | 89 | 长期债券指数_10年以上 | 1 | Y60001 |
20021231 | 89 | 银行间债券总指数_1年以下 | 1 | Y70000 |
20021231 | 89 | 银行间债券总指数_1-3年 | 1 | Y70001 |
20021231 | 89 | 银行间债券总指数_3-5年 | 1 | Y70003 |
20021231 | 89 | 银行间债券总指数_5-7年 | 1 | Y70005 |
获取指数基本信息¶
代码示例:
df, msg = api.query(
view="lb.indexInfo",
fields="",
filter="",
data_format='pandas')
结果示例(前5条记录):
获取交易日历¶
代码示例:
df, msg = api.query(
view="jz.secTradeCal",
fields="date,market,istradeday,isweekday,isholiday",
filter="market=1&start_date=20170101&end_date=20170801",
data_format='pandas')
结果示例(前5条记录):
isholiday | istradeday | isweekday | trade_date |
---|---|---|---|
F | T | T | 20170103 |
F | T | T | 20170104 |
F | T | T | 20170105 |
F | T | T | 20170106 |
F | T | T | 20170109 |
获取分配除权信息¶
代码示例:
df, msg = api.query(
view="lb.secDividend",
fields="",
filter="start_date=20170101&end_date=20170801",
data_format='pandas')
结果示例(前5条记录):
ann_date | bonus_list_date | cash | cash_tax | cashpay_date | end_date | exdiv_date | publish_date | record_date | share_ratio | share_trans_ratio | symbol |
---|---|---|---|---|---|---|---|---|---|---|---|
20161025 | 0.20000000 | 0.20000000 | 20170103 | 20160930 | 20170103 | 20161227 | 20161230 | 0.0 | 0.000000 | 002059.SZ | |
20170117 | 20170217 | 3.60000000 | 3.60000000 | 20170217 | 20161231 | 20170217 | 20170210 | 20170216 | 0.0 | 5.000000 | 300561.SZ |
20161105 | 0.50000000 | 0.50000000 | 20170216 | 20160630 | 20170216 | 20170210 | 20170215 | 0.0 | 0.000000 | 601900.SH | |
20170120 | 4.50000000 | 4.50000000 | 20170303 | 20161231 | 20170303 | 20170224 | 20170302 | 0.0 | 0.000000 | 603025.SH | |
20170125 | 20170307 | 6.00000000 | 6.00000000 | 20170306 | 20161231 | 20170306 | 20170227 | 20170303 | 0.0 | 12.000000 | 600816.SH |
获取复权因子¶
代码示例:
df, msg = api.query(
view="lb.secAdjFactor",
fields="",
filter="symbol=002059&start_date=20170101&end_date=20170801",
data_format='pandas')
结果示例(前5条记录):
adjust_factor | symbol | trade_date |
---|---|---|
2.077892 | 002059.SZ | 20170103 |
2.077892 | 002059.SZ | 20170104 |
2.077892 | 002059.SZ | 20170105 |
2.077892 | 002059.SZ | 20170106 |
2.077892 | 002059.SZ | 20170109 |
获取停牌信息¶
代码示例:
df, msg = api.query(
view="lb.secSusp",
fields="susp_time",
filter="symbol=002059",
data_format='pandas')
结果示例(前5条记录):
ann_date | resu_date | susp_date | susp_reason | susp_time | symbol |
---|---|---|---|---|---|
20080408 | 20080409 | 20080408 | 召开股东大会 | 9:30:00 | 002059.SZ |
20080612 | 20080613 | 20080612 | 召开股东大会 | 9:30:00 | 002059.SZ |
20080922 | 20080922 | 20080922 | 异常波动 | 9:30:00 | 002059.SZ |
20090220 | 20090223 | 20090220 | 召开股东大会 | 9:30:00 | 002059.SZ |
20090417 | 20090420 | 20090417 | 召开股东大会 | 9:30:00 | 002059.SZ |
获取行业分类¶
代码示例:
df, msg = api.query(
view="lb.secIndustry",
fields="",
filter="industry1_name=金融&industry2_name=金融&industry_src=中证",
data_format='pandas')
结果示例(前5条记录):
in_date | industry1_code | industry1_name | industry2_code | industry2_name | industry3_code | industry3_name | industry4_code | industry4_name | industry_src | is_new | out_date | symbol |
---|---|---|---|---|---|---|---|---|---|---|---|---|
20130219 | J | 金融业 | J66 | 货币金融服务 | 中证指数有限公司 | Y | 000001.SZ | |||||
20130219 | J | 金融业 | J69 | 其他金融业 | 中证指数有限公司 | Y | 000563.SZ | |||||
20130219 | J | 金融业 | J66 | 货币金融服务 | 中证指数有限公司 | Y | 600000.SH | |||||
20130219 | J | 金融业 | J66 | 货币金融服务 | 中证指数有限公司 | Y | 600015.SH | |||||
20130219 | J | 金融业 | J66 | 货币金融服务 | 中证指数有限公司 | Y | 600016.SH |
获取指数成份¶
代码示例:
df, msg = api.query(
view="lb.indexCons",
fields="",
filter="index_code=399001&is_new=Y",
data_format='pandas')
结果示例(前5条记录):
in_date | index_code | out_date | symbol |
---|---|---|---|
20140814 | 000001.SH | 603126.SH | |
20140815 | 000001.SH | 603111.SH | |
20090511 | 000001.SH | 600372.SH | |
20140819 | 000001.SH | 603100.SH | |
20140822 | 000001.SH | 603609.SH |
获取常量参数¶
代码示例:
df, msg = api.query(
view="jz.sysConstants",
fields="",
filter="code_type=symbol_type",
data_format='pandas')
结果示例(前5条记录):
code | code_type | value |
---|---|---|
1 | inst_type | 股票 |
10 | inst_type | 回购 |
100 | inst_type | 指数 |
101 | inst_type | 股指期货 |
102 | inst_type | 国债期货 |
获取日行情估值¶
代码示例:
df, msg = api.query(
view="wd.secDailyIndicator",
fields='pb,net_assets,ncf,price_level',
filter='symbol=000063.SZ&start_date=20170605&end_date=20170701')
结果示例(前5条记录):
close_price | float_market_value | high_52w | low_52w | net_assets | pb | pe | price_level | share_float_free | symbol | total_market_value | trade_date |
---|---|---|---|---|---|---|---|---|---|---|---|
19.62 | 6.726969e+06 | 20.05 | 13.07 | 3.659734e+10 | 2.2457 | 0.0 | 0 | 215879.8077 | 000063.SZ | 8.218724e+06 | 20170605 |
19.81 | 6.792113e+06 | 20.05 | 13.07 | 3.659734e+10 | 2.2675 | 0.0 | 0 | 215879.8077 | 000063.SZ | 8.298314e+06 | 20170606 |
20.59 | 7.059546e+06 | 20.80 | 13.07 | 3.659734e+10 | 2.3567 | 0.0 | 0 | 215879.8077 | 000063.SZ | 8.625052e+06 | 20170607 |
20.63 | 7.073260e+06 | 21.05 | 13.07 | 3.659734e+10 | 2.3613 | 0.0 | 0 | 215879.8077 | 000063.SZ | 8.641808e+06 | 20170608 |
20.98 | 7.193262e+06 | 21.09 | 13.07 | 3.659734e+10 | 2.4014 | 0.0 | 0 | 215879.8077 | 000063.SZ | 8.788421e+06 | 20170609 |
获取资产负债表¶
代码示例:
df, msg = api.query(
view="lb.balanceSheet",
fields="",
filter="symbol=002636.SZ",
data_format='pandas')
结果示例(前5条记录):
acct_rcv | ann_date | inventories | notes_rcv | report_date | report_type | symbol | tot_cur_assets |
---|---|---|---|---|---|---|---|
2.035835e+08 | 20130318 | 7.627147e+07 | 1.737082e+08 | 20121231 | 408006000 | 002636.SZ | 1.074759e+09 |
7.050691e+08 | 20130425 | 1.685824e+08 | 2.460369e+08 | 20130331 | 408001000 | 002636.SZ | 1.890115e+09 |
2.436788e+08 | 20120421 | 6.736024e+07 | 5.982293e+07 | 20101231 | 408009000 | 002636.SZ | 4.718200e+08 |
2.495033e+08 | 20120424 | 1.077278e+08 | 1.173246e+08 | 20120331 | 408006000 | 002636.SZ | 1.133775e+09 |
2.035835e+08 | 20140422 | 7.627147e+07 | 1.737082e+08 | 20121231 | 408009000 | 002636.SZ | 1.074759e+09 |
获取利润表¶
代码示例:
df, msg = api.query(
view="lb.income",
fields="",
filter="symbol=600030.SH,000063.SZ,000001.SZ&report_type=408002000&start_date=20160601&end_date=20170601",
data_format='pandas')
结果示例(前5条记录):
ann_date | int_income | less_handling_chrg_comm_exp | net_int_income | oper_exp | oper_profit | oper_rev | report_date | symbol | tot_oper_cost | tot_profit | total_oper_rev |
---|---|---|---|---|---|---|---|---|---|---|---|
20160812 | 3.120900e+10 | 857000000.0 | 1.779800e+10 | 1.909500e+10 | 8.142000e+09 | 2.723700e+10 | 20160630 | 000001.SZ | 1.909500e+10 | 8.125000e+09 | 2.723700e+10 |
20160825 | 0.000000e+00 | 0.0 | 6.524571e+08 | 5.588709e+09 | 4.970444e+09 | 1.055915e+10 | 20160630 | 600030.SH | 5.588709e+09 | 4.917090e+09 | 1.055915e+10 |
20160826 | 0.000000e+00 | 0.0 | 0.000000e+00 | 0.000000e+00 | 1.811750e+08 | 2.589879e+10 | 20160630 | 000063.SZ | 2.615474e+10 | 1.336791e+09 | 2.589879e+10 |
20161029 | 0.000000e+00 | 0.0 | 7.365511e+08 | 5.237163e+09 | 3.643600e+09 | 8.880763e+09 | 20160930 | 600030.SH | 5.237163e+09 | 3.659715e+09 | 8.880763e+09 |
20161021 | 3.200700e+10 | 863000000.0 | 1.836700e+10 | 1.881000e+10 | 8.389000e+09 | 2.719900e+10 | 20160930 | 000001.SZ | 1.881000e+10 | 8.406000e+09 | 2.719900e+10 |
获取现金流量表¶
代码示例:
df, msg = api.query(
view="lb.cashFlow",
fields="",
filter="symbol=002548.SZ",
data_format='pandas')
结果示例(前5条记录):
ann_date | cash_recp_prem_orig_inco | cash_recp_return_invest | cash_recp_sg_and_rs | incl_dvd_profit_paid_sc_ms | net_cash_flows_inv_act | net_cash_received_reinsu_bus | net_incr_dep_cob | net_incr_disp_tfa | net_incr_fund_borr_ofi | ... | net_incr_int_handling_chrg | net_incr_loans_central_bank | other_cash_recp_ral_fnc_act | other_cash_recp_ral_oper_act | recp_tax_rends | report_date | report_type | stot_cash_inflows_oper_act | stot_cash_outflows_oper_act | symbol |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
20140815 | 0.0 | 1071150.68 | 4.747366e+08 | 0.0 | 3.387516e+05 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.0 | 0.0 | 0.000000e+00 | 2.372317e+07 | 0.00 | 20130630 | 408003000 | 4.984598e+08 | 4.938527e+08 | 002548.SZ |
20140815 | 0.0 | 492274.24 | 4.574233e+08 | 0.0 | -5.160987e+06 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.0 | 0.0 | 0.000000e+00 | -2.986875e+05 | 0.00 | 20140630 | 408002000 | 4.571247e+08 | 4.261462e+08 | 002548.SZ |
20140815 | 0.0 | 37071150.68 | 1.294270e+08 | 0.0 | 3.893878e+07 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.0 | 0.0 | 0.000000e+00 | -7.582736e+06 | 0.00 | 20130630 | 408008000 | 1.218442e+08 | 1.523719e+08 | 002548.SZ |
20140815 | 0.0 | 492274.24 | 1.098741e+08 | 0.0 | -4.613494e+07 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.0 | 0.0 | 0.000000e+00 | 2.659082e+08 | 0.00 | 20140630 | 408007000 | 3.757823e+08 | 3.125591e+08 | 002548.SZ |
20170429 | 0.0 | 19237803.19 | 2.754383e+09 | 2450000.0 | -7.779336e+08 | 0.0 | 0.0 | 0.0 | 0.0 | ... | 0.0 | 0.0 | 1.547990e+08 | 4.374965e+07 | 0.00 | 20161231 | 408001000 | 2.798133e+09 | 2.846801e+09 | 002548.SZ |
获取业绩快报¶
代码示例:
df, msg = api.query(
view="lb.profitExpress",
fields="",
filter="start_anndate=20170101",
data_format='pandas')
结果示例(前5条记录):
ann_date | net_profit_int_inc | oper_profit | oper_rev | report_date | symbol | total_assets | total_profit |
---|---|---|---|---|---|---|---|
20170207 | 1.054700e+10 | 1.227300e+10 | 9.844400e+10 | 20161231 | 601633.SH | 9.214600e+10 | 1.248000e+10 |
20170713 | 1.493567e+08 | 1.902676e+08 | 1.218885e+09 | 20170630 | 002258.SZ | 3.658932e+09 | 1.890177e+08 |
20170228 | 1.177647e+08 | 1.142228e+08 | 1.023947e+09 | 20161231 | 002406.SZ | 2.538539e+09 | 1.389901e+08 |
20170228 | 2.148007e+08 | 1.276432e+08 | 4.011206e+09 | 20161231 | 002087.SZ | 7.744742e+09 | 2.504674e+08 |
20170228 | 1.621291e+08 | 1.944727e+08 | 1.480000e+09 | 20161231 | 002688.SZ | 2.713363e+09 | 2.025310e+08 |
获取限售股解禁表¶
代码示例:
df, msg = api.query(
view="lb.secRestricted",
fields="",
filter="list_date=20170925",
data_format='pandas')
结果示例(前5条记录):
lifted_shares | list_date | symbol |
---|---|---|
7.597341e+08 | 20171011 | 000536.SZ |
7.586547e+08 | 20171011 | 000813.SZ |
2.776560e+08 | 20171011 | 002701.SZ |
1.151995e+08 | 20171010 | 603010.SH |
5.385944e+06 | 20171010 | 300190.SZ |
Dataview¶
Research¶
write research tutorial here
Strategy¶
BackTest¶
write backtest tutorial here