Closed wisfern closed 3 years ago
A new plugin for zvt, see https://github.com/scanfyu/zvt-tushare.
@scanfyu 建议实现步骤 1)复用Stock entity,只是添加tushare provider 加上这句:
register_schema(providers=['joinquant', 'eastmoney', 'exchange', 'sina','tushare'], db_name='stock_meta',
schema_base=StockMetaBase)
这样其他人安装zvt-tushare,获得tushare数据的能力,其他模块直接复用 2)其他数据属于entity event 参考 https://zvtvz.github.io/zvt/#/data_extending https://github.com/zvtvz/zvt-ccxt
然后就是重复以下步骤
定义domain
根据provider提供的api,决定如何使用evaluate_start_end_size_timestamps
@scanfyu
这里我是在domain下边新建一个meta并继承stock_meta还是说直接在domain下建立stock_meta并继承啊?
两种方案 1) 请使用zvt0.8.5以上版本,参考代码 https://github.com/zvtvz/zvt/blob/master/tests/contract/test_add_provider_plugin.py
可以不重新建meta,只是在domain的init里面执行如下语句:
from zvt.contract.register import register_schema
from zvt.domain.meta.stock_meta import StockMetaBase
register_schema(providers=['tushare'], db_name='stock_meta',
schema_base=StockMetaBase)
这样便注册了tushare provider,并创建了相应的数据库
2)自己新定义一种entity,比如TushareStock
这样Factor,StockTrader,get_kdata等如果要使用Tushare的entity数据,entity schema需要重新指定,问题不大。
推荐使用方法一,尽可能复用现在的代码。 Entity只是提供标的的列表功能和一些组合,主要还是其他数据。
类似tushare中的数据定义