[关闭]
@Channelchan 2018-04-10T19:24:33.000000Z 字数 5402 阅读 87257

获取数据

  1. load_dataview(读取本地数据)
  2. get_snapshot(读取索引为股票代号的数据)
  3. get_ts(读取时间序列数据)
  4. add_formula(添加自定义算法数据)
  5. add_field(从数据服务添加新数据至本地)
  6. remove_field(删除原有的数据)
  7. dv.save_dataview('保存至相应地址')

1_读取本地数据

  1. import jaqs_fxdayu
  2. jaqs_fxdayu.patch_all()
  3. from jaqs.data import DataView
  4. from jaqs.data import RemoteDataService
  5. import os
  6. import numpy as np
  7. import warnings
  8. warnings.filterwarnings("ignore")
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)
  1. dv = DataView()
  2. dataview_folder = './JAQS_Data/hs300'
  3. dv.load_dataview(dataview_folder)
Dataview loaded successfully.

2_读取索引为股票代号的数据

  1. print(dv.get_snapshot(20170504, symbol='600036.SH,600050.SH', fields=''))
field      _daily_adjust_factor    _limit  adjust_factor    ann_date  \
symbol                                                                 
600036.SH                   1.0  0.001057        4.47681  20170428.0   
600050.SH                   1.0  1.000000        1.55687  20170422.0   

field      can_enter  can_exit  close  close_adj  down_limit  ebit    ...     \
symbol                                                                ...      
600036.SH       True      True  18.75  83.940188         0.0   0.0    ...      
600050.SH      False     False   7.47  11.629819         0.0   0.0    ...      

field         roa     roe    roe_pb  roe_pb_Q5      total_mv  trade_status  \
symbol                                                                       
600036.SH  0.3365  4.8548  4.318449        1.0  4.728721e+07            交易   
600050.SH  0.1357  0.3526  0.173806        NaN  1.583386e+07            停牌   

field      up_limit      volume   vwap  vwap_adj  
symbol                                            
600036.SH       0.0  39673390.0  18.75     83.93  
600050.SH       0.0         0.0   0.00      0.00  

[2 rows x 37 columns]

3_读取时间序列数据

  1. print(dv.get_ts('pb').head())
symbol      000001.SZ  000002.SZ  000008.SZ  000009.SZ  000012.SZ  000021.SZ  \
trade_date                                                                     
20120105       1.1311     1.6998     6.3395     3.9615     2.5092     1.6159   
20120106       1.1282     1.6787     6.3795     4.1982     2.5306     1.6455   
20120109       1.1598     1.7374     6.6989     4.6177     2.6622     1.7146   
20120110       1.1598     1.7655     7.0384     4.8128     2.9284     1.7870   
20120111       1.1598     1.7491     7.0284     5.2945     2.9896     1.8068   

symbol      000024.SZ  000027.SZ  000031.SZ  000039.SZ    ...      601998.SH  \
trade_date                                                ...                  
20120105       1.5287     1.0983     1.5278     1.7439    ...         1.1508   
20120106       1.5057     1.1131     1.5405     1.7669    ...         1.1648   
20120109       1.5508     1.1537     1.5825     1.8775    ...         1.1816   
20120110       1.5696     1.1795     1.6457     1.9810    ...         1.1985   
20120111       1.5619     1.1684     1.6246     1.9594    ...         1.1844   

symbol      603000.SH  603160.SH  603288.SH  603699.SH  603799.SH  603833.SH  \
trade_date                                                                     
20120105          NaN        NaN        NaN        NaN        NaN        NaN   
20120106          NaN        NaN        NaN        NaN        NaN        NaN   
20120109          NaN        NaN        NaN        NaN        NaN        NaN   
20120110          NaN        NaN        NaN        NaN        NaN        NaN   
20120111          NaN        NaN        NaN        NaN        NaN        NaN   

symbol      603858.SH  603885.SH  603993.SH  
trade_date                                   
20120105          NaN        NaN        NaN  
20120106          NaN        NaN        NaN  
20120109          NaN        NaN        NaN  
20120110          NaN        NaN        NaN  
20120111          NaN        NaN        NaN  

[5 rows x 539 columns]

4_添加自定义算法数据

  1. roe_pb = dv.add_formula('roe_pb', 'roe/pb', is_quarterly=False, add_data=True)
Field [roe_pb] is overwritten.
  1. print(dv.get_ts('roe_pb').head())
symbol      000001.SZ  000002.SZ  000008.SZ  000009.SZ  000012.SZ  000021.SZ  \
trade_date                                                                     
20120105    13.168243   4.627368  -0.093746   2.272372   6.719114   2.788044   
20120106    13.202092   4.685530  -0.093158   2.144252   6.662294   2.737891   
20120109    12.842387   4.527225  -0.088716   1.949455   6.332958   2.627552   
20120110    12.842387   4.455169  -0.084437   1.870429   5.757274   2.521097   
20120111    12.842387   4.496941  -0.084557   1.700255   5.639417   2.493469   

symbol      000024.SZ  000027.SZ  000031.SZ  000039.SZ    ...      601998.SH  \
trade_date                                                ...                  
20120105     7.107215   6.380861   1.804294  10.959516    ...      14.546055   
20120106     7.215780   6.296020   1.789419  10.816854    ...      14.371223   
20120109     7.005932   6.074456   1.741927  10.179654    ...      14.166892   
20120110     6.922018   5.941585   1.675032   9.647804    ...      13.967126   
20120111     6.956143   5.998031   1.696787   9.754159    ...      14.133401   

symbol      603000.SH  603160.SH  603288.SH  603699.SH  603799.SH  603833.SH  \
trade_date                                                                     
20120105          NaN        NaN        NaN        NaN        NaN        NaN   
20120106          NaN        NaN        NaN        NaN        NaN        NaN   
20120109          NaN        NaN        NaN        NaN        NaN        NaN   
20120110          NaN        NaN        NaN        NaN        NaN        NaN   
20120111          NaN        NaN        NaN        NaN        NaN        NaN   

symbol      603858.SH  603885.SH  603993.SH  
trade_date                                   
20120105          NaN        NaN        NaN  
20120106          NaN        NaN        NaN  
20120109          NaN        NaN        NaN  
20120110          NaN        NaN        NaN  
20120111          NaN        NaN        NaN  

[5 rows x 539 columns]

5_从数据服务添加新数据至本地

  1. data_config = {
  2. "remote.data.address": "tcp://data.tushare.org:8910",
  3. "remote.data.username": "13662241013",
  4. "remote.data.password": "eyJhbGciOiJIUzI1NiJ9.eyJjcmVhdGVfdGltZSI6IjE1MTc2NDQzMzg5MTIiLCJpc3MiOiJhdXRoMCIsImlkIjoiMTM2NjIyNDEwMTMifQ.sVIzI5VLqq8fbZCW6yZZW0ClaCkcZpFqpiK944AHEow"
  5. }
  6. ds = RemoteDataService()
  7. ds.init_from_config(data_config)
Begin: DataApi login 13662241013@tcp://data.tushare.org:8910
    login success 






'0,'
  1. dv.add_field('eps_basic', ds)
Query data - query...
Query data - quarterly fields prepared.





True
  1. print(dv.get_ts('eps_basic').head())
symbol      000001.SZ  000002.SZ  000008.SZ  000009.SZ  000012.SZ  000021.SZ  \
trade_date                                                                     
20120105         2.01      0.326     -0.006       0.21       0.53     0.1399   
20120106         2.01      0.326     -0.006       0.21       0.53     0.1399   
20120109         2.01      0.326     -0.006       0.21       0.53     0.1399   
20120110         2.01      0.326     -0.006       0.21       0.53     0.1399   
20120111         2.01      0.326     -0.006       0.21       0.53     0.1399   

symbol      000024.SZ  000027.SZ  000031.SZ  000039.SZ    ...      601998.SH  \
trade_date                                                ...                  
20120105       1.2138       0.37       0.07     1.2475    ...           0.57   
20120106       1.2138       0.37       0.07     1.2475    ...           0.57   
20120109       1.2138       0.37       0.07     1.2475    ...           0.57   
20120110       1.2138       0.37       0.07     1.2475    ...           0.57   
20120111       1.2138       0.37       0.07     1.2475    ...           0.57   

symbol      603000.SH  603160.SH  603288.SH  603699.SH  603799.SH  603833.SH  \
trade_date                                                                     
20120105          NaN        NaN        NaN        NaN        NaN        NaN   
20120106          NaN        NaN        NaN        NaN        NaN        NaN   
20120109         0.16        NaN        NaN        NaN        NaN        NaN   
20120110         0.16        NaN        NaN        NaN        NaN        NaN   
20120111         0.16        NaN        NaN        NaN        NaN        NaN   

symbol      603858.SH  603885.SH  603993.SH  
trade_date                                   
20120105          NaN        NaN       0.18  
20120106          NaN        NaN       0.18  
20120109          NaN        NaN       0.18  
20120110          NaN        NaN       0.18  
20120111          NaN        NaN       0.18  

[5 rows x 539 columns]
  1. dv.remove_field('eps_basic')
  1. dv.add_field('volume', ds)
Field name [volume] already exists.





False
  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')
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注