[关闭]
@Channelchan 2018-04-10T19:27:20.000000Z 字数 4167 阅读 87306

板块分类

  1. DataApi(连接数据源)
  2. query(获取需要的数据)
  3. classify(数据格式的转换)
  4. append_df(添加数据保存)

1_连接数据源

  1. import jaqs_fxdayu
  2. jaqs_fxdayu.patch_all()
  3. from jaqs.data.dataapi import DataApi
  4. from jaqs.data import DataView
  5. api = DataApi(addr='tcp://data.tushare.org:8910')
  6. api.login("13662241013",
  7. 'eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVfdGltZSI6IjE1MTc2NDQzMzg5MTIiLCJpc3MiOiJhdXRoMCIsImlkIjoiMTM2NjIyNDEwMTMifQ.sVIzI5VLqq8fbZCW6yZZW0ClaCkcZpFqpiK944AHEow'
  8. )
D:\Anaconda3\lib\importlib\__init__.py:126: FutureWarning: The pandas.core.datetools module is deprecated and will be removed in a future version. Please use the pandas.tseries module instead.
  return _bootstrap._gcd_import(name[level:], package, level)
D:\Anaconda3\lib\site-packages\matplotlib\__init__.py:1405: UserWarning: 
This call to matplotlib.use() has no effect because the backend has already
been chosen; matplotlib.use() must be called *before* pylab, matplotlib.pyplot,
or matplotlib.backends is imported for the first time.

  warnings.warn(_use_error_msg)





('username: 13662241013', '0,')

2_获取需要的数据

step1_指数成分

  1. from jaqs_fxdayu.util import dp
  2. start=20120104
  3. end=20171222
  4. id_cons = dp.index_cons(api, "000300.SH", start, end)
  5. id_member = dp.daily_index_cons(api, "000300.SH", start, end)
  1. mask = ~id_member
  1. print(mask.tail())
            000001.SZ  000002.SZ  000008.SZ  000009.SZ  000012.SZ  000021.SZ  \
trade_date                                                                     
20171218        False      False      False       True       True       True   
20171219        False      False      False       True       True       True   
20171220        False      False      False       True       True       True   
20171221        False      False      False       True       True       True   
20171222        False      False      False       True       True       True   

            000024.SZ  000027.SZ  000039.SZ  000046.SZ    ...      601998.SH  \
trade_date                                                ...                  
20171218         True       True       True       True    ...          False   
20171219         True       True       True       True    ...          False   
20171220         True       True       True       True    ...          False   
20171221         True       True       True       True    ...          False   
20171222         True       True       True       True    ...          False   

            603000.SH  603160.SH  603288.SH  603699.SH  603799.SH  603833.SH  \
trade_date                                                                     
20171218         True      False       True       True      False      False   
20171219         True      False       True       True      False      False   
20171220         True      False       True       True      False      False   
20171221         True      False       True       True      False      False   
20171222         True      False       True       True      False      False   

            603858.SH  603885.SH  603993.SH  
trade_date                                   
20171218        False       True      False  
20171219        False       True      False  
20171220        False       True      False  
20171221        False       True      False  
20171222        False       True      False  

[5 rows x 522 columns]

step2_分类信息

参数说明

  1. symbol_id = dp.index_cons(api, "000300.SH", start, end)["symbol"].dropna()
  2. symbols = ",".join(symbol_id)
  3. group = dp.daily_sec_industry(api, symbols, start, end, source='sw', value="industry1_name")
  4. print(group.tail())
           000001.SZ 000002.SZ 000008.SZ 000009.SZ 000012.SZ 000021.SZ  \
trade_date                                                               
20171218          银行       房地产      机械设备        综合      建筑材料       计算机   
20171219          银行       房地产      机械设备        综合      建筑材料       计算机   
20171220          银行       房地产      机械设备        综合      建筑材料       计算机   
20171221          银行       房地产      机械设备        综合      建筑材料       计算机   
20171222          银行       房地产      机械设备        综合      建筑材料       计算机   

           000024.SZ 000027.SZ 000039.SZ 000046.SZ    ...    601998.SH  \
trade_date                                            ...                
20171218         房地产      公用事业      机械设备       房地产    ...           银行   
20171219         房地产      公用事业      机械设备       房地产    ...           银行   
20171220         房地产      公用事业      机械设备       房地产    ...           银行   
20171221         房地产      公用事业      机械设备       房地产    ...           银行   
20171222         房地产      公用事业      机械设备       房地产    ...           银行   

           603000.SH 603160.SH 603288.SH 603699.SH 603799.SH 603833.SH  \
trade_date                                                               
20171218          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171219          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171220          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171221          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171222          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   

           603858.SH 603885.SH 603993.SH  
trade_date                                
20171218        医药生物      交通运输      有色金属  
20171219        医药生物      交通运输      有色金属  
20171220        医药生物      交通运输      有色金属  
20171221        医药生物      交通运输      有色金属  
20171222        医药生物      交通运输      有色金属  

[5 rows x 522 columns]

3_添加数据保存

  1. dv = DataView()
  2. dataview_folder = './JAQS_Data/hs300'
  3. dv.load_dataview(dataview_folder)
  4. dv.append_df(group, 'group')
Dataview loaded successfully.
Field [group] is overwritten.
  1. dv.save_dataview('./JAQS_Data/hs300')
Store data...
Dataview has been successfully saved to:
E:\QTC\PythonQTC\course\3_JAQS\JAQS_Data\hs300

You can load it with load_dataview('E:\QTC\PythonQTC\course\3_JAQS\JAQS_Data\hs300')
  1. print(dv.get_ts('group').tail())
symbol     000001.SZ 000002.SZ 000008.SZ 000009.SZ 000012.SZ 000021.SZ  \
trade_date                                                               
20171218          银行       房地产      机械设备        综合      建筑材料       计算机   
20171219          银行       房地产      机械设备        综合      建筑材料       计算机   
20171220          银行       房地产      机械设备        综合      建筑材料       计算机   
20171221          银行       房地产      机械设备        综合      建筑材料       计算机   
20171222          银行       房地产      机械设备        综合      建筑材料       计算机   

symbol     000024.SZ 000027.SZ  000031.SZ 000039.SZ    ...    601998.SH  \
trade_date                                             ...                
20171218         房地产      公用事业        NaN      机械设备    ...           银行   
20171219         房地产      公用事业        NaN      机械设备    ...           银行   
20171220         房地产      公用事业        NaN      机械设备    ...           银行   
20171221         房地产      公用事业        NaN      机械设备    ...           银行   
20171222         房地产      公用事业        NaN      机械设备    ...           银行   

symbol     603000.SH 603160.SH 603288.SH 603699.SH 603799.SH 603833.SH  \
trade_date                                                               
20171218          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171219          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171220          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171221          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   
20171222          传媒        电子      食品饮料      机械设备      有色金属      轻工制造   

symbol     603858.SH 603885.SH 603993.SH  
trade_date                                
20171218        医药生物      交通运输      有色金属  
20171219        医药生物      交通运输      有色金属  
20171220        医药生物      交通运输      有色金属  
20171221        医药生物      交通运输      有色金属  
20171222        医药生物      交通运输      有色金属  

[5 rows x 539 columns]
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注