入门指南

本页面给用户提供了一个简洁清晰的入门指南,涵盖各个功能模块

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条记录):

| symbol |
| — |
| 000001.SH |
| 000002.SH |
| 000003.SH |
| 000004.SH |
| 000005.SH |

获取交易日历

代码示例:

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