问答交流

股票价格不对

由mymdeep创建,最终由mymdeep 被浏览 28 用户

问题

最近跑数据发现,某只股票价格不对,所以导致我回测有问题

m1 = M.input_features.v1(
    features="""
# #号开始的表示注释,注释需单独一行
# 多个特征,每行一个,可以包含基础特征和衍生特征,特征须为本平台特征
return_0
close_0/open_0
close_0/close_1
"""
)

m4 = M.instruments.v2(
    start_date='2022-03-05',
    end_date='2022-03-07',
    market='CN_STOCK_A',
    instrument_list='603871.SHA',
    max_count=0
)

m3 = M.general_feature_extractor.v7(
    instruments=m4.data,
    features=m1.data,
    start_date='',
    end_date='',
    before_start_days=10
)

m2 = M.derived_feature_extractor.v3(
    input_data=m3.data,
    features=m1.data,
    date_col='date',
    instrument_col='instrument',
    drop_na=False,
    remove_extra_columns=False,
   
)
m2.data.read()

跑出的数据,是后复权的数据,跟股票软件展示的价格对不上。

这只是发现的一只股票,其他数据会不会有不准不知道,如果源数据不准,那么所有的策略,回测都很有风险,请官方给个解释。

解答

每个平台有不同的数据源,每个不同的数据源对复权因子的处理方式都是不一样的,所以如果发现和其一不同,那也是正常的。

如果不需要使用我们平台的后复权数据,可以在构建因子的时候主动除以一个复权因子 adjust_factor_0

比如计算一个收盘价的真实价格 real_close = close_0 / adjust_factor_0

评论
  • 每个平台有不同的数据源,每个不同的数据源对复权因子的处理方式都是不一样的,所以如果发现和其一不同,那也是正常的。 如果不需要使用我们平台的后复权数据,可以在构建因子的时候主动除以一个复权因子 adjust_factor_0 比如计算一个收盘价的真实价格 real_close = close_0 / adjust_factor_0
{link}