回测

回测在金融领域是一种重要的验证和评估策略性能的技术手段。它主要通过在历史数据上模拟投资策略的执行过程,以此检验该策略在过去时间段内的盈利能力和风险水平。回测不仅能够帮助投资者理解策略在不同市场环境下的表现,还能揭示策略的潜在风险和优化方向。有效的回测是金融决策过程中不可或缺的一部分,它增加了投资者对未来策略实施的信心,并为持续改进和优化投资策略提供了依据。

模拟交易推送股票和回测时不一致的问题

问题

问题描述

cnn的AI程序,滚动窗口设为5时,模拟交易推送的股票和回测时一致(1月4号都推送买入300703);

滚动窗口设为10,模拟交易推送的股票和回测时的就不一致(推送提示1月4号买入300703,运行程序看日志提示:

order[09:30:00][id:fbe4a9,603586.SHA 16272.889415922053@MARKET],即买入603586)。

试了各种办法,社区的方法都试了也都不行,哪位大神知道是什么原因?

更新时间:2023-06-01 02:13

在回测中的持仓最后无法满仓是为什么呢?

{w:100}前期都是可以满仓买入,到到了回测末期就无法满仓了。

买入是每天买一个全仓第二天卖出,第三天继续买入循环。权重就是单股100%,按 context.portfolio.cash账户现金买入。

context.stock_weights = [1]
context.max_cash_per_instrument = 1
context.options['hold_days'] = 0

buy_cash_weights

更新时间:2023-06-01 02:13

求助:模拟盘如何读取自定义的上传模型文件?是模拟盘,回测已经搞定。

求助:模拟盘如何读取自定义的上传模型文件?是模拟盘,回测已经搞定。

更新时间:2023-06-01 02:13

回测没有问题,模拟交易就报错。这是为何?

问题

回测没有问题,模拟交易就报错。这是为何?

ValueError                                Traceback (most recent call last)
<ipython-input-1-41293a04a4ae> in <module>
283 )
284
--> 285 m14 = M.advanced_auto_labeler.v2(
286     instruments=m1.data,
287     label_expr="""# #号开始的表示注释
/var/app/enabled/biglearnin

更新时间:2023-06-01 02:13

宽客小学的课程效果不可复现且日期范围矛盾

如下图所示,为 “宽客小学”的课程内容。

https://bigquant.com/tutorial/


{w:50}{w:100}

https://bigquant.com/wiki/doc/shuju-OiRLVCmIYx {w:80}{w:100}

我发现两个疑惑:

1

更新时间:2023-06-01 02:13

请问使用自定义运行之后,还能模拟交易吗?

问题

请问使用自定义运行之后,还能模拟交易吗?有没有例子

更新时间:2023-06-01 02:13

如何在策略中实现最近10天内买入过的个股不再买入

问题

如何在策略中实现最近10天内买入过的个股不再买入

\

解答

在回测中可以在卖出股票后,把卖出时间保存下来,然后买入时和当天时间进行对比就可以实现。具体可以参照下面的样例,此样例实现了持有股票必须大于n天后才能卖出和买入的股票m天内不再买入两个功能。

https://bigquant.com/experimentshare/fd94a8acc914413ea5185892d7aade09

\

更新时间:2023-06-01 02:13

报错:index 0 is out of bounds for axis 0 with size 0

问题

为什么将回测换成大盘风控策略之后,跑不通,报错了,如下所示,但是只要输入特征列表当中没有以_0结尾的,就不会报错

报错:index 0 is out of bounds for axis 0 with size 0

https://bigquant.com/experimentshare/2d23428bbe3842dfb8346cc6737acec4

\

更新时间:2023-06-01 02:13

初始化函数 在回测时只调用一次。但在模拟实盘时却是每天都会调用一次对吗

问题

初始化函数 在回测时只调用一次。但在模拟实盘时却是每天都会调用一次对吗

解答

  1. 在实际交易中,每个交易日的参数都是重新加载的,所以模拟实盘也是这样
  2. 如果有需要保存的变量,可以保存在文件中,第二天再加载进来

\

更新时间:2023-06-01 02:13

回测中如何避免买入停牌股票或一字涨停的股票?

问题

回测中如何避免买入停牌股票或一字涨停的股票?

解答

这是一个好问题。BigQuant平台回测模块专门对这个问题进行了相应处理。当遇到次日停牌或者一字涨停\跌停的情形,平台会自动取消该订单,于是是不能成交。

更新时间:2023-06-01 02:13

早上回测能看到 昨天及以前的买卖信号 ,请问如何回测时,输出当天的买入信号?

问题

早上回测能看到 昨天及以前的买卖信号 ,请问如何回测时,输出当天的买入信号?

解答

在策略里面打印的7-15的买卖信号对应的是模拟交易中出来的7-16的信号哈

更新时间:2023-06-01 02:13

使用context.ranker_prediction先后传递数据

一些股票在当天发现信号时但要几天才想买入,想用context.ranker_prediction加一条日期为几天后的数据,这样几天后的回测代码就读到那个股票了,但用append方法加了数据,并没有生效,是不是context.ranker_prediction只能读不能更新? 还有也是想买了股票以后,就在这个数据集更新标记,后面读出,作为补仓依据。

更新时间:2023-06-01 02:13

为什么回测集中用上证50会报no data left after dropnan错误,为空则不会

问题

为什么回测集中用上证50会报no data left after dropnan错误,为空则不会

策略

https://bigquant.com/experimentshare/9bea89a2b9934f339027fd5c644a65ee

在经过你设定的筛选条件后剩下的数据确实为空,您可以参考这个链接里的代码,在设置dt_final[‘market_cap_float_0’] < 10000000000条件后就没有剩

更新时间:2023-06-01 02:13

设置持仓时间为5天,为何回测还是一天一换仓

问题

我设置持仓时间为5天,但是回测为什么还是一天一换仓

策略

https://bigquant.com/experimentshare/06ddda4bfd2544408e26f2648a4ba60d

解答

您好,默认的设置中前hold_days为建仓期间,只能进行买入,过了hold_days的天数就可以进行卖出了,如果想要股票买入后N天才能卖出,可以设置个if语句进行判断

\

更新时间:2023-06-01 02:13

回测时如何选择买入组合方式?

问题

回测时如何选择买入组合方式?

回测时如何选择多空组合、最大分位、最小分位?

谢谢

更新时间:2023-06-01 02:13

回测时如何选取沪深300成分股为股票池

问题

回测时如何选取沪深300成分股为股票池

解答

https://bigquant.com/experimentshare/e748e2e314404259ab7f7226a701472b

{w:100}{w:100}{w:100}

更新时间:2023-06-01 02:13

如何对单只股票设置量化交易程序

问题

如何对单只股票设置量化交易程序

更新时间:2023-06-01 02:13

Trade(回测/模拟)中的收盘价好像不对,是后复权的吗?

问题

{w:100}解答

回测价格可以通过以下模块参数进行选择:


{w:100}

\

更新时间:2023-06-01 02:13

data.history 出错,改变回测其实日期后又会正常,是什么原因?

https://bigquant.com/experimentshare/ef5ace8bf16a459883ced88e3d5fd347

\

更新时间:2023-06-01 02:13

LSTM数据过滤问题

问题

问题描述

下面的LSTM策略中,数据过滤后造成参与训练的部分数据被过滤掉,在序列窗口滚动时造成窗口中数据顺延错乱。请问能否帮修改下面的策略,实现被过滤掉的数据也参与训练和回测(比如close_*1和close_*2被过滤掉,但能参与close_0,close_1,close_2这个序列窗口的训练)?

在(序列窗口滚动)之后过滤,数值已经标准化了,能否过滤? 能发个例子吗

另外,还有个问题,能在(序列窗口滚动)之后,再做标准化吗?

问题策略

[https://bigquant.com/experimentshare/83552c544786

更新时间:2023-06-01 02:13

修改参数后回测报错:请检查训练数据

问题

https://bigquant.com/experimentshare/1f261d83b2664aac83f2a3e9f9db4e86

解答

把特征列表里面行的注释都删除掉,如下

[https://bigquant.com/experimentshare/8765045828e841d5bcb98f8010499537](https://bigquant.com/experimentshare/8765045828e84

更新时间:2023-06-01 02:13

R-Breaker日内策略-期货分钟

https://bigquant.com/experimentshare/3e5c4533c9fa4174a16f8784bccfb69b

\

更新时间:2023-05-23 02:30

回测如何设置手续费和保证金率

回测如何设置手续费和保证金率

可以在Initial函数中通过context的set_commission设置

def initialize(context):
    """初始化"""
    print("initialize")    

    # 股票设置费率的示例
    context.set_commission(equities_commission=PerOrder(buy_cost=0.0003, sell_cost=0.0013, min_cost=5.0))    

    # 期货设置费率的示例
    comm_dict = {

更新时间:2023-05-11 03:12

QuantChat-小白如何学习量化投资

• 点击新建对话,创建一个新对话


{w:100}


• 点击输入框,开始与QuantChat交流


{w:100}


• 您可以直接输入以下对话


![{w:100}](/wiki/api/attachments.redirect?id=df515aaf-cef1-460

更新时间:2023-05-04 02:33

滚动训练不成功,ix属性问题

https://bigquant.com/experimentshare/0e3ee03644f24afb883e6acd26c8bca2

\

更新时间:2023-04-28 09:53

分页第1页第2页第3页第4页第5页第6页第7页第8页第9页第10页
{link}