回测

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

“回测中滑点应用失败‘’

交易引擎:初始化函数,只执行一次

def bigquant_run(context):

context.set_commission(PerOrder(buy_cost=0.0001, sell_cost=0.0011, min_cost=0))
context.slippage.VolumeShareSlippage(volume_limit=0.025, price_impact=0.1)

#读取数据
context.ranker_prediction = context.options['data'].read_df()
context.ranker_predictio

更新时间:2023-12-22 07:44

“回测问题诊断:为何已清仓股票在仓位信息中仍显示?”

回测中貌似有bug,前一天用context.order_target_percent(instrument,0)卖出的股票,后一天在仓位中还有它的信息,只不过持仓量为0。既然仓位中没有这只股票了,为什么仓位中还有它的信息?

更新时间:2023-12-22 07:42

因子回测代码无法运行

这是自带的我的文档/因子分析代码策略.ipynb,我使用这份代码进行简单的快速因子回测。在上周五之前是没问题的,最近无法运行了,提示TypeError: set_global_opts() got an unexpected keyword argument 'tooltip_opts'。完整代码如下:

https://bigquant.com/codeshare/51c8cc81-4866-4fe5-907c-c45285e68994

\

更新时间:2023-12-22 07:23

求问回测和实盘的日期使用问题

在大宽看了不少策略,有一个关于具体使用当天还是前一天数据的问题


比如B站视频中的稳健深小策略

#==================== 数据准备

today = data.current_dt.strftime('%Y-%m-%d')

time = data.current_dt

# 根据权重计算排序得分

today_data['总市值_score'] = today_data['总市值'].rank(ascending=True)

today_data['流通市值_score'] = today_data['流通市值'].rank(ascending

更新时间:2023-12-14 07:34

求问,提交模拟交易之后报错AttributeError: 'DataFrame' object has no attribute 'instrument'

新手课程里面的源码,运行回测是好的,但是提交模拟之后就会报错。错误和源码附上,求助大神帮我解答一下,谢谢

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-1-b2f5bb4c55e4> in <module>
    191 
    192 # @module(position="

更新时间:2023-12-12 03:31

文章回测报错:华泰研报:在XGboost中实现关于有序回归作为损失函数和评价函数

https://bigquant.com/college/courses/course-v1:public+2023110601+110601/courseware/7708009442174480802b3dd339f4ede0/45dafc16ea744216af376a7dc2961fa5/

老师您好,

我学习上面的视频文章,想试运行代码,但运行不下去,没办法回测,是我哪里没有配置对吗?谢谢老师!

  • \

    
    
    # 我们取前0.6的数据量作为训练集
    date = data['date'].unique

更新时间:2023-12-08 08:18

模拟回测模块的交易逻辑代码是否会在实盘中执行

如题,自定义的交易逻辑会在模拟交易中执行,在实盘交易中是否执行?

更新时间:2023-11-27 06:10

关于 回测/模拟 模块 Trade_v4 的问题

在这个模块中买入点和卖出点选项中的 open 和 close,如果买入选择 open,卖出选择 close,那么是意味着在同一天进行买入和卖出吗?在实际交易中,沪深 A 股当天购买的股票是不是第二天才能卖出,这一点是不是有些问题,如果想要将卖出点设置在第二天,应当如何设置?

更新时间:2023-11-27 05:59

新人求教,为什么我的回测没有基准数据?

刚接触BigQuant,就想从最简单的模板“买入并持有可视化策略”开始学习,里面属性都没改过直接运行,但发现我的回测没有基准数据,不知道为啥。\n模板用的HTTrade,换成Trade也是有问题,说date报错

[https://bigquant.com/codeshare/c48664c8-6d59-4824-b791-fd73b75100e9](https://bigquant.com/codeshare/c48664c8-6d59-

更新时间:2023-11-27 05:56

为啥order_percent()有错误?(HFTrade (高频 回测/模拟/实盘) (v2) 中)

  • your performance may suffer as PyTables will pickle object types that it cannot
  • map directly to c-types [inferred_type->mixed,key->block3_values] [items->Index(['instrument', 'name', 'suspend_type', 'suspend_reason', 'suspended'], dtype='object')]
  • pytables.to_hdf(
  • [2023-11-09 19:42:22

更新时间:2023-11-15 06:20

回测正常,提交模拟就报错AttributeError:'NoneType' object has no attribute 'read' 是什麽原因?

M.hftrade.v2(
    instruments=['300097.SZA'],
    start_date='2023-11-03',
    end_date='2023-11-05',
    initialize=initialize,
    before_trading_start=before_trading,
    handle_data=handle_data,
    after_trading=after_trading,
    capital_base=120000,
    frequency='minute',
    p

更新时间:2023-11-12 13:41

开发环境回测没问题,模拟交易就报错

我的策略依赖于我本地的数据,所以,把我本地的数据命名为 data1.csv,上传到开发环境,并编写了策略(策略名:自选模式),策略在开发环境是能正常访问导入的data1.csv文件,也可以完成回测,但把策略上架到模拟交易后,就提示读不到文件,请问如何解决?\n

读取文件的代码是这样的:

def m4_file_path_bigquant_run():

return "data1.csv"

m4 = M.datahub_

更新时间:2023-11-01 02:58

timedelta在新的编写环境下报错

在今年7月份平台升级之前,我想要使用这个函数,直接在代码里引用是datetime.timedelta(0),没有报错,回测,模拟交易和实盘交易都可以正常运行、

然后在平台升级后,在AIstudio中,还是这么用,报错如下:


当我删掉前面的datetime,而直接使用timedelta(0)的时候,同样也报错,提示找不到这个timedelta,所以请教下如何在可视化的模式下优雅的解决这个问题,谢谢

更新时间:2023-10-13 01:51

策略运行与撮合说明

回测代码的编写和运行

策略逻辑编写完成后通过接口函数 M.hftrade (也是一个可视化模块的入口)来进行回测,如下是此函数的详细说明

M.hftrade.v2( #v2表示hftrade的版本号
    start_date,    #回测开始日期
    end_date,  #回测结束日期
    instruments=None,  #回测股票/基金/期货列表
    initialize=None,   #初始化函数初始化函数,initialize(context)
    on_stop=None,  #策略运行结束处理函数,on_stop(con

更新时间:2023-10-11 10:51

新人问一下回测框架问题:

在回测与交易目录下,可以看到有好几个回测模块,Big Trader,HFTrader,Trader等,这三个回测模块有什么区别?如何挑选回测模块,以及什么情况下使用?谢谢

更新时间:2023-10-10 10:31

超参搜索夏普值对不上

使用超参搜索 对特征列表进行调优,当列表因子数量为1的时候,夏普值可以对上,但是当因子数量大于1时,夏普值与回测的不一样,请问这是什么原因。

{w:100} {w:100}当因子只有一个时

![{w:100}](/wiki/api/attachments.redirect?id=6fd026

更新时间:2023-10-09 08:49

回测、平台——IndexError: tuple index out of range

  • \

更新时间:2023-10-09 08:26

关于平台滚动训练模块的提问

1.我想要实现滚动训练,使用平台官方给的AL模板策略(比如stockranker、LightGBM),再拖入一个滚动训练模块,修改滚动训练模块的run函数里的各个模块id和训练周期是否就能实现,还需要注意改哪里吗?怎样确认回测没有用未来数据训练? 2.同时拖入一个滚动训练模块,和一个超参搜索模块,是否能实现每次滚动训练都进程超参数搜索。 3.滚动训练后的策略跑模拟盘时,是否会到时自动训练?

更新时间:2023-10-09 08:26

模拟回测报错

环境是AISTUDIO 先是如下报错

{w:100}然后我在终端对protobuf进行降级后出现如下报错

{w:100}请教下如何解决这个报错,上周服务器升级之前都是能正常运行的。另外回测成功的策略上传模拟报错试运行失败也问下原因,希望得到解决,谢谢

更新时间:2023-10-09 08:26

模拟交易dai访问报错

回测一切正常,以下是错误日志:

{w:100}{w:100}

ds.read_bdb 时报错 <ArrowInvalid: Object is not allowed to access>


更新:为什么你们的系统时好时坏,第一次试运行没报错,第二天运行又报错了。。。

{w:100}

更新时间:2023-10-09 08:24

回测正常,提交模拟交易报错

{w:100}回测时候是正常的,提交模拟交易就报错了,是因为什么呢?麻烦给看一下。

更新时间:2023-10-09 08:24

研究天蝎座的时候回测报错


Exception Traceback (most recent call last) <ipython-input-13-16424a2d66d6> in <module> 163 ) 164 --> 165 m23 = M.select_columns.v3( 166 input_ds=m22.data, 167 columns='date,instrument',

Exception: invalid module name: select_columns, version: v3, frie

更新时间:2023-10-09 07:36

在aistudio种,改变平台提供的xgboost参数,回测结果一点都不变,为何?


在aistudio种,用平台的提供xgboost方法回测,参数改了无数次,回测结果的走势图一模一样,没有变化,xgboost的缓存参数也是关闭的,m_cached=False。


平台提供的xgboost算法参数设置{w:100}


![虽然改变了不同的xgboost参数,但是回测结果一直是如图所示,一个小数点都不变{w:100}](/wiki/api/attachments.redirect?id=1295616f-94b0-4

更新时间:2023-10-09 07:32

TRade(回测/模拟)报错怎么改


{w:100}


{w:100}新手想问一下在trade运行中,这个错误是什么意思,需要在什么地方改正

\

更新时间:2023-10-09 07:12

模拟实盘执行出错,回测正常

执行dai.query时报错 <OSError: Could not connect to socket /var/app/data/bigma/sockets/bigma>,能否解答一下是什么原因?

{w:100}

更新时间:2023-10-09 07:10

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