粉丝590获赞1870

好,今天给大家介绍一款可能是最好用的量化回测框架 backtrade 啊,可以实现多资产多策略啊,或者是多周期的这样一个策略,回测关键还是开边的。 在发展到今天,我们知道其实线上的话其实有很多非常成熟的这种 开源平台,里面包含了框架社区啊,啊,像是 vpi, 或者是很多这个什么局框啊等等等等,非常多的这种平台,但是有的时候我们可能出于这样那样的原因,还是希望说本地部署一个属于自己的这个会测的一个工具, 对吧?那么呃,可能,呃知名度比较高的这个 back trader 啊, back test 和 supply。 那 back back test 呢?这个东西很多年前以前用过啊,我印象中是 非常简单好用的啊,但是可能功能上不是很完善。然后 zpi 呢?可能如果你在国外的话,可能会用的比较多,然后它支持实盘会比较强。然后 bacterid 呢?我认为它的一个优点很多,对吧?多资产多策略啊,甚至可以多周期,然后关键还是开源的, 对吧?然后还会很稳定啊,其实稳定性这一点很关键,然后对于主流的一些库都有一个不错的支持。然后你要说 backtrade 的缺点呢啊,其实也有两个,一个是对于实拍的支持比较弱,对,他可能支持部分的国外的平台啊,国内是没有的。 然后呃第二个呢,如果你的回测的数据量比较庞大呃,比如说股票大几千支股票做一些呃频率稍微高一点的这种,这种策略的回测可能就会比较吃力了 啊,但是我们期货不管这么多,对吧?一共几十个品种啊,所以无所谓,不影响。好,那么我们接下来开始一个正式的介绍,然后里面会有些小技巧,可能小坑,但会给大家特别注意一下,应该说能够帮你审审很长时间啊,因为有些问题我确实也搞了很久。 那么首先这是官方文档啊,你有功夫最好是这个一个都看一下,然后他的一个速栏,这 quick guide 里面是大致介绍了整个流程。好吧,你有时间可以每每个都看一下,只不过他你们可能有些语法比较老,对吧?可能影响你的阅读效率啊,但是,呃,这个 有功夫的都看一遍,肯定是比较好的。那么当然在我们这边给你简单介绍一下一些简单的不太复杂的一些策略啊,能够让你实现一个快速的上手啊,是没问题的。好吧, 所以我们直接开始,那么其实对于一个量化回测框架来讲,其实比较重要的是他的数据和策略的 编写,对吧?最核心的肯定是策略这边写,那我们待会会重点介绍。我们先介绍一下整个大致流程啊,首先你要去这个导入一些库啊,都是常规库,只不过这里要特别提一下这个 constrats 啊,一定要一定要用这个,但对于你结果的一个展示非常重要。 好吧,那个这这这个点呢,我待会会讲,为什么非常重要?因为我之前踩了一个坑。好,那么他的整个流程先看一下,对吧?其实他的一个核心就是他的一个 server 啊,这个西域里面的一个大脑,对吧?你要先定义一个这个 server, 然后去把数据喂给他, 那么数据的话会有一定的格式啊,我待会再讲。他为什么说之前说的一个资产呢?比如说他,你这里只要可以 他二对他三都可以,然后取名这个,这个铁矿啊,可以多资产一起搞。那么如果说你是股票的话,对吧? 这可能是这个几千个也都可以,当然你写法上要注意一下,但我这个是笨办法。你,然后这里策略也是一样,对吧?你,你这个策略是一个类啊,你 plus 定义好之后啊,可以有多个的策略可以同时加载啊,啊,都是没问题的。那么最后 一个分析器啊,一个结果的分析, analyzer, analyzer 的话,这里啊,这个是内置的。好吧,你直接去读入好了,跟我们后面的这个 constraints 会有一个结合 啊,然后这里定义你一个初始的一个资金到我们这里先用一百万或者多少都可以,这些都是不重要啊,这些都不重要。然后一个 commission, 你的一个佣金, 对吧?呃,手续费是这个千二啊,或者是你根据自己的实际情况来。对,最后把 resorts 去保存到你这个啊,让让让,他跑就可以了,好吧。然后最后是一个分析器啊,最后一个结果的分析器。好,那么我们最后再讲 好,那么整个流程啊,非常简单,对吧?定义好你的这个策略,这个大脑,然后把数据位给他,把策略 写好。策略以后啊,喂进去,然后再定一些。这个啊,相对来讲没那么重要的,你出出使资金啊,你的这个 broker, 这 commission 啊,对吧?然后就跑就好了,然后把结果存进去 啊,那么我们先演示一遍效果,好吧 好吧,这是一个以这个军线策略为例啊,应该大概就是上坡买啊,上坡买的这样一个策略啊。这个,呃,从它内置的这个 plot 里面呢?其实我们 已经能够得到一些信息了,比如说你的整个资产的一些运行情况,对吧?蓝线是你的现金,然后下面这个值应该是你的一个资资产的一个价值, 好吧?比如说,呃,这个策略是螺纹,对吧?这这个买,买了螺纹之后,你的一部分资产会变成这个,呃,螺纹。 然后第二个是你每笔交易的一个,是啊,盈利还是亏损的一个情况分布。那么第三个是在图 k 线上,或者说图形上,对吧?这个图形你可以设置它是这个 candlesty, 是这个 k 线图还是只是一个线?好吧,那我们这里粗粗看一下,就用线就可以了啊,包括这里你可以细细看一些指标,当然他这个指标有一点需要注意,他是一个外国人思维,对吧?红色是空, 绿色是多啊。然后其实我在设置里面去看文档看了很久,说实话没找到怎么调这个箭头啊,所以我们只能去适应他这个这这这个这这这样一个展示的方式。好吧,那我们接下来有三个重点,一个重点是贼塔,对吧?怎么 把数据喂给他?第二个重点是这个 stretch 的东西可能会讲的稍微多一点点。然后第三个是这个结果演示啊,稍微提两句。那么第一个他对于数据的支持其实是比较丰富的,那有很多种方法都可以导入数据,那么我们习惯上可能是用 pandas data, 对吧?就是你先把这个你的数据导入进来之后做一些处理,然后再喂给他,那么你也可以去,呃,你也可以去这个直接 csv, 可以可以,直接导。 呃,应该是未数据的时候,你看未数据的时候,这里是 btfed pennies data 啊,你可以这个也可以用 csv data 也是可以的啊。当然如果你在国外的,可能是一些养护的数据啊,都可以,它对于新浪数据可能是不支持的 啊,所以我印象中是不支持新浪数据的,但是我们一般其实还是会在本地做数据,对吧?因为无论是 cp, csp, 还是你直接去导到那个 pentas 里面,好吧,这里有个点需要注意的是,对吧?这个是官方文档上写的,你的字段的 命名要符合 backtrade 的要求,就一定是 open o h l a c 格式,对吧? open 就是 open close to close, 嗨就嗨, low 就 low, volume 就 volume, open interest 就 open interest。 那么这里有两个点需要注意的是,一个是,呃,你的命名不是不能错的,但这个持仓量我印象中是有一横的,我一开始可能把这句语句都删了。对,所以你要 renam 一下,把这个,呃,如果你的格式的名字不对的话,可能会有一些这样的问题啊。 open inters 当中你的持仓量当中是没有一杠的, 没有,下面那个杠是连起来的。那么同时第二点,你的这个,你的这个 index 啊,是要做到是一个时间的日期的啊,所以你要稍微转换一下,不像我们这个,其实输入的时候这个日期,其实 大家看其实是这个这这这个这个这个这个 star 格式的,对吧?你要把它改成这个呃时间格式的啊,是要稍微注意一下,完成了这一步,让你的你的数据完成到这一步,展示出来是这个样子,那基本上就 ok 了啊,你可以在呃,你可以直接把数据位给他来,已经没问题了,就不会报错了。那就期货的六个关键数据, h, o, l, c 和这个 volume 和这个 open interest。 那么需要注意的是,如果你要有一些自定义的一些 一些这个这个大做做量化的情况下说这个 feature 或者是 variable, 对吧?或者我们简单讲,你要自定义的一列,比如说 a 列,你要等于一好了,对吧?那么这些自定义的 这个 feature 你要去导入的话啊,需要去做一个小小的改变,他这个支持也是比较好的,你只要自先自定一个这个呃类,比如说我这里叫 it feature, 然后去继承这个他的一个 pandas data 的一个 这个这个这个类就可以了啊,你你的这个行名字,对吧?比如说这个我这里上面是 a, 那么你这里要就要写 a, 好吧?然后这个 powermes 你在第几列一定要写清楚,那比如说我这里是一二三四五六七,到第七列,这里用的是那个 index 的缩影,好吧? 然后注意这里一定要有逗号啊,这里一定要有逗号,没有逗号会报错。好,完成了这个时候你去在下一步之前给大家展示位数据那一步啊,直接用你这个克拉斯就好了,因为他继承了这个 pandas data 的,好吧?这样的话,你的自己的一个自定义的 feature 或者是 arrival 都可以读到这个这个 backtrade 里面, 好吧,这是一个呃小技巧啊,之前其实我也有一段时间没没没搞明白,怎么去把你自定义的一些这个需求给搞进去,好吧,这是第一个点。 好,接下来我们开始一个策略的一个部分,那策略部分里面,你的策略里面肯定会有这样那个参数,对吧?他的策略写法啊,这个也非常简单,直接把策略的名字和参数具体数字写进就可以了,还是别忘了 千万别忘了这个逗号啊,没有回报错,那么如果你要多个参数的话,就继续往下写好了啊,这个括号里面继续往下写啊,只是别忘了最后一个逗号,那么他对于参数调优的支持也是比较好的,对吧?如果你有很多的 呃这个参数,比如说你均线要在五到三十之间找一个最优的,那么他也会有一个自己的写法啊,不用你这个非常麻烦的去去去去再去做循环了。所以这里我们就先找一个这个以实物为例啊,给大家做个例子。 然后第一步是要初始化,其实理解这个框架非常简单。为为为什么说他比较好的地方呢?就是他非常的符合的我们的直觉,你只要理解他里面有一个 line 的概念, 他一个烂是什么呢?一个烂其实就是一个,但从数据的角度上其实他就是一列,但就像这个,我们这里这个 date, 对吧?就是一列。然后你的这个新增的自自定义的一个 feature, 这个 a 就是一个 line 啊,每一个 line 就是一个列啊,就是字如其意啊,就就名字是字如啊。这个, 呃。一如其名。好吧。啊理解了这个,那我们看他你要自定一个 self 点呃,假如初始化,初始化的时候你的一个这个收收盘架到 self 点 self 就是我们这个类嘛,点 datas, datas 零啊,就是我们未进去的一个数据点 close 啊,写法也和其实 pandas 差不多。 对啊,这些其实都是也是官方文档里有的。然后你的一些,呃需要用到的一些东西啊,这个 order 啊, 哦的你的买入卖家,其实这这些也不是太关键,对吧?有些你用到的话你可能要出手换下,不用到也就不用了。然后关于指标的话,这里他做的非常好的,是支持的这个功能非常多。对,首先他支持贴力,贴力的话里面有很多非常常用的一些技术指标,你可以直接用。 好吧,写法也其实也适合这个类似的啊,非常简单,把数据喂给他就好,只是说有些自定义的一些 feature, 你要喂进去的话,呃,但是贴定本里面其实没有什么自定义的,用不到什么自定义的一些 feature, 对吧?只就是 o h i c 格式,再加上这个成交量和值套,但你要喂的话,对吧?比如说你要去去去 就是这个最高价,对吧?和这个 colours 写法是一样的,对吧?这个是和 panas 写法是一样的,就就稍微改一下就可以了。 那么另外一个是你和自定义的指标对,写法很简单,直接去这个这个官方文档 在 indicate 里面啊,直接复制一下你就知道是怎么搞了。那么这是第一种方法,第二种方法是你自定一些指标,你可以先把它这个呃离散化,然后直接打上标签。呃,比如说我,我比如假设说 随便说有个策略是当收盘价大于四千五的时候,那我去触发一个条件去买或者卖啊,那我就可以直接把这个, 我就可以直接把这个触发器啊这个 feature 离散化之后,对吧?变成一个触发器,然后呃直接标记到我的原始数据里面,对,然后我再把这个 trigger 这一列呃加到 我的鱼,呃,用我刚才所说的一个去自定义 feature 东西加进去, 是吧?然后我读数据的时候包都把它读进去,那么我这里就会有一个 trigger 了,明白了没有?那么 那么接下来我去做一些策略的时候啊,我只要判断这个缺个一等于一,那我就去参与市场, 但或者说我可以定义更多的这个出发器,这个二三也好,对吧?到了之后一旦到这个数值判断等于一, 那我就入场或者离场啊,这这是我比较喜欢的方式啊,因为这样非常的简单清晰,而且可以把这个那些思路是独立在框架之外啊,可能有的时候会比较清晰点,因为所有东西你都写在框架里面的话啊,可能会有些乱, 好吧。那么剩下的这些这个 order 啊什么的,这个这个呃 order 的一些状态啊,如果是回测的话啊,有的时候会用到啊,但是你不用到,你就不用去定义,也就不用管。好吧。那么啊指标 这个讲到这里,然后它这里有一个 self 点 log 啊,就是输出一些屏幕上的一些,呃,输出 啊,这个东西呢,其实啊不太重要,说实话不太重要,但是我印象中他这个官方文档里面花了很大的功夫去 去记录这个,这去做这件事情,包括他这个有很多什么 notify order 的的,就是你的订单出发之后一些反馈,可能,可能你做实盘可能用的比较多,但回测的话其实不讲究这个啊,五大所谓,但是你要知道他的一个 大致的这个逻辑,就是能够帮助你实时的输出一些啊,回测的正在进行的一个情况,比如说开仓了会给你一些信息等等等等啊,这个相对来讲没这么重要。然后 next 也是一个需要注意的地方啊,也是它这个核心的, next 是它的一个 呃,是一个叠带器,但他从会从第一行数据开始慢慢的往下读啊,每一个,呃,每往下一步,对,叠带器每往下进一步就是你读一行的数据,那比如说 这里短,这是我的原始数据,他会从二零一零年一月四号开始读啊,每一个 next 之后,你的一个数据就会变成下一行的数据,或者说下一个时间周期的数据。好吧,那么接下来策略的核心部分, 其实这里有两种写法。 no, 那这里是一个官方的写法,如果没有尺操 再判断啊,完满足了你的一个入场条件,对吧?比如说收盘价大于一个均线栏,那你就买啊,这里 size 也可以自定义的啊,你你,你可以把 筷子变成一个,你的自定一个参数都可以,是吧?自定一个参数,在刚才上面讲的这个 powers 里面都可以去设置。 呃,然后如果有直操,对吧?然后这个下穿了,那我们怎么就把它 close 掉?那么当然这里你用 sale 也是可以的 啊,他这个 close 是指平操啊,不管你这个啊方向,那你也可以直接去,因为你之前是掰的嘛,所以你的 close 一定是 sear 的,对吧?这个是这个小细节,咱也不太重要,那么需要注意的是这里有一个 小,呃,也不算技巧,可能是我觉我觉得会比较合理的,是,对吧?其实这么写会比较, 呃,不清晰。那么我认为可能比较清晰的一个写法是直接把它变成一个触 发器,会,这样会比较好啊,你先把你的一个条件或者你开仓平仓那个逻辑变成你那个出发器,或者我这里写的再好一点是开仓的开仓的一个 trigger, 然后接下来你只要判断 这个就可以了,明白了吗?这样的话我觉得会写法上会比较清晰,而且看起来也会比较清晰。那么接下来如果你要改你的逻辑,其实你就可以再改你的这个缺格就可以了,那么接下来也是一样的,对吧?如果是你的对应的所一个平仓逻辑 就是小于嘛,那么再去你的这个平操逻辑啊,就平操这样的话,呃,我认为写法上 和读起来,然后改起来都会比较的,这个方便。好,接下来我们跑一遍啊,看一下这个 结果啊,这个,呃,最终的你的资金量就用 server 点 broker 点 get by 六就可以了啊,可以发现啊,出示一百万啊,反正到最后只有七十九万了。那么他这里有一个他自己的一个比较简易的这个结果的图的一个展示啊,你的,呃 呃有有一定的参考价值,那么接下来就是介绍,呃,你要去分析结果的话,呃,其实他官方文档里面写的是这个 p y four 六这个东西,但是我试了很久老是报错好的,然后试了网上各种方法都都不太行,所以大家一 开始讲了我们要去 pro 的这个 constrats, 用 constress 去看的话啊,去分析结果的话,目前看是没有报错的。好吧,我们先把这个主要是这个 returns 读进去啊,写法这里就直接复制就好了,得到我们的 returns 就是这样一个按照时间来看你的这个收益率,好吧,那么用 constraint 之后,它可以非常方便快速的去输出这个结果。 呃,然后 constraint 呢?它的展示应该是,呃信息就相对刚才那个它自己的一个 protot 的东西就比较多了,但是它在下普比的时候,对吧?有个那个 restophire, 你这个需要可能需要自定一下,它里面内置的可能是零,包括 应该累计收益,对吧?你兑出收益,然后一些收益率的一些,呃,情况分布是吧?还有一些这个滚动的什么夏普比呀,什么什么都有好吧,还有每年的一个 这个这个每年的平均收益的一个统计的最好最差的一些情况,相对来讲就比较呃丰富一点,但每年的一些情况,累积情况和单一的情况, 好吧,然后最大回撤等等,好吧,就这个 constraint 支持是比较好的。虽然说图的话,我看了一下那个 p y four 六可能是更加好看啊,但是那个 如果有人知道这个 pianfolio 该怎么该,该该该怎么搞,对吧?也可以跟我们说一下,反正我是呃各种方法,网上说的各种方法都试了,都没试出 pianfolio 的一个方法,所以后面 用的是 constrains, 而且就一句话就生成了,也是非常的简单方便。好,今天我们的这个 backtrad 就介绍到这里啊,一个流程下来,应该是能够把它的一个最核心的东西,还有一些小坑小技巧呃给讲明白了。然后如果说 啊,有想一起讨论交流的,我们也可以这个继续保持联系啊,交流,好吧。

我们之前给大家介绍一下 bacterid 的框架,那么我们今天在商品市场以单均线策略为例,展示一下如何做参数优化。目的是啊,通过参数优化,为商品市场各个品种找到一条属于它最优的均线,来获得最大的历史回报。 那么我们最后也会做一个结果展示啊,展示商品期货各个品种的均线,应该设置成旗帜均线来获得最大的一个回报。 好,我们开始那 backtrade 的一个参数优化和固定参数回测,那有几个不同的点可能需要注意一下啊。第一个是在添加策略的时候啊,之前的固定参数用的是 severboro 点 a d d strategy, 那么在参数优化的时候啊,你传入的参数是一个啊,有一个范围啊,用的是这个 o p tea strategy 啊,随后你参的参数,那我这里是 ma period, 那你这个这个我们从三日测到一百五十,那么如果你有一个以上的参数需要优化啊,也可以继续往后添加啊,完全没问题。 第一个,第二个不同呢,由于你这个需要优化的参数可能比较多啊,那么如果是按照原先的方法去跑啊,速度可可能会非常慢,对吧?像我们三到一百五,那就是一百多条均线,如果参数更多的话,那就更慢了。那比较好的一点是 bacter 的他支持 多进程优化啊,所以我们这里在 server 点 run 的时候, mac cpu 根据你自己的电脑来设置,对吧?如果自己的电脑这满和十六的,那么可能写个十啊,或者在网上也可以,对吧?如果是公司电脑啊,直接拉满对吧?有几个和就写多少,我们让他保证一个最 大的效率。当然这里还要说一点啊,在多进程优化中啊,这个类啊需要用,需要从其他地方引入,所以你看到我们这个一开始这个是另外写了一个批发文件,对吧?然后我们的类是 从另外一个 py 文件去引入的,那这一点我也不知道为什么,反正不这么做的话啊,会报错。好吧,那第三点可能需要注意的是得新建一个列表来储存我们的这样一个结果,对吧?因为我们用了一个负循环去便利所有我们需要回测的商品。 那第四个需要特别注意的就是你的一个优化目标,那像我们的目标非常纯粹暴利啊,就是最后账户里的钱最多啊,所以我们用的是一个最终值,作为我们的考量不标准。当然啊,你有可能有不同的需求啊,比如你需要一个下铺笔最高的 啊,或者你需要一个胜率最高的策略,那么可以在这个 analyzer, 呃, analyzer 里面去自定义,对吧?只要定一个类,去继承它里面的 actual 里面 analyzer, 然后自己去写一个评价指标就可以了。那么我们就比较纯粹啊,就看钱。 好,那么我们现在开始进行这个优化啊,由于我们时刻优化,所以说速度相对来讲比较快的啊,那么这里有个小插曲,结果一开始写的是十二 啊,对,我有的时候会写到十四,但是在我刚才自己测的时候啊,测着测着我家空调插座少了一股焦味,然后 那我现在是这个空调也关着啊,非常的热,我不太清楚跟这个电脑的多进程有没有关系啊,因为现在电脑是嗡嗡作响对吧,如果你让他 盒开的比较高,他会嗡嗡作响啊,然后这个功耗也比较高。我不太清楚有没有关系,但是我现在啊比较怂啊,让他这个适合就呃再这么跑。 对啊,如果自己电脑可能稍微珍惜一点啊,如果公司电脑你就直接有多少盒全部拉满就可以了。那么在电脑计算的时候有一点和大家啊可以讨论分享的是这个其实啊我们去做这个这个参数的优化,特别是技术指标的参数优化,其实有点像 再往过你和这条路上靠啊,就是有点像是身般硬套啊,一定要用这个历史数据去区区找到最好的一个参数啊,就是说找到这个数字像是有点在骗自己的感觉啊,这个数字一定是好的,因为历史回报最大,但是这个真实情况呢却未必对吧,历史回报最好的啊, 到真实情况历史的长河,当命运的齿轮往下转的时候你会发现这个数字可能是最高的最糟的啊有可能,但这个确实不好说,反正我们做个演示嘛就先 也是给大家看如何做参数优化啊,就是我们可能有的时候要相对谨慎对吧,不要这个为了去找到一个最佳的答案而而这个不停的去找那个最佳的参数啊,后来发现是过你喝的啊,那可能就比较糟了。好,经过了四百九十四秒 啊,大概就是八分多钟啊,我们的结果终于出来了啊,那么先存一下啊,这是我刚才存过一遍了,然后看一下结果啊,其实就是排个序,好,这个我们的结果就出来了。那需要说一点的是,我这里设置了一个万分之一的手续费啊,和之前固定参数 去回测的时候不是手续费,是这个稍有区别。那么最右边呢,是一个最佳的均线啊,举个例子,我记得螺纹应该是二十四,对,螺纹二十四是均线, 那么用的是单均线策略,就是价格上破均线买,下破均线卖短。罗文最终的回报初始是一百万到万一的手续费,最终是这个应该是三百多万吧, 是吧?当然也有亏钱的,比如说这个 r m 应该是菜破啊,可以发现最终就六十多万了啊。我们现在这么看,可能清晰一点啊,这个 最大的回报应该是这个交碳,对吧?能有四点六倍十三日均线, sf 是归铁是吧?四点一倍回报啊,这个当然要亏钱的,亏钱的话是这几个啊,有一二三 三四五六,打六十个,里面有六个用单均线策略,万一的手续费是亏钱的,好吧,那么这些参数呢?大家觉得如果有用啊,可以这个记下来, 那如果觉得没用啊,这是一个过礼盒的过程呢,那也没关系,对吧?我们给大家展示一下 back to 的如何做参数优化的啊,相对来讲应该还是比较 方便的,对吧?八分钟时间啊,这个三到一百的所有品种都回测了一遍。然后我们需要 最后再说一点呢,是这个 bacterid, 他在做优化的时候是用暴力算法,那么如果说你要优化的参数比较多啊,那像我这里就一个参数三到一百五,那就一百多。那如果说你是十个参数, 这个一到一千啊,那这个数量就非常庞大了啊。那么这样的话,这个用 battery 它内置的这个算法呢?它是暴力 算法,就是每个参数都给你混合一遍啊。这个,呃,可能耗时比较长啊,然后有一个专门的这个应该是什么粒子群算法的一个库啊,可以做优化啊。但是我也没啊,我还没到那程度啊。大家如果说 你要优化的参数比较多,可能用呃,那个会比较好,大家就自己再去研究了。那如果说我以后用到啊,有什么心得的话,也会及时跟大家分享。

我们先来看啊 backtrader 中的具体的一个模块,它来设置佣金,其实很细致的。第一个啊,我们通过这个参数交易手续费,根据这个 margin 的 取值情况呢,可以区分它是百分比收费还是固定手续费。有些呢,比如说像期货中它有些是按照固定的手续费来收的,比如说我们一手就固定的收个,比如说十块二十块这样的,也可以通过这个指定。 那在这个 set 中呢,我们需要让这个 broker 知道我们传入的是期货数据还是股票数据或者其他品种数据,这是需要一个指定的,那它默认的话,它会啊传递,就是一个 stock, 是股票的一个数据,当它只有在这个 stock like 定义为 false 的 时候呢,它才会默认啊起火保证金。然后我们再配合上一些其他的参数就陈述,还有就是 mark, mark 包括它的这个一个比例就是盈亏换到这个陈述金额放大,这些都是比较细节的,我们不需要刻意去记忆定, 一般呢等到我们,嗯,具体去实现的时候,我们可以去查看它每个参数的具体含义,就是 markin, 它设置 non 或者说百分比对应的股票的手续费,对应期货手续费这边的话,期货的话一般有多投和空投嘛,它有涉及到一个利利息的一个费用,就这里的 interest 定义,还有 long 多投的一个年化利息,还有它的杠杆比例 leverage 保证金,那对期货还要多一个保证金的操作。

今天分享一下什么可视化指标。嗯, 之前分享过一个 compose, 就是你把音音质的名字以及这些参数传到一个历史的里面,然后就可以按顺序计算,这里我就计算了这么多印子, 这都是计算的。对,然后计算完之后看一下 他叫要特特特别的好, 估计有几百个了,但我们这个是计算好配纳斯的英子。 然后我们怎么用呢?嗯,首先这是我们想要可视化的一些列,我们就放到 case 里面去, 然后我们呃要看幺幺五九九幺五,然后七十日,七月九日,七是八零一月一号到一九零六月一号,这是保存帽子的路径,这是保存那个图片的路径, 然后这是我们这个啊带带费的一个路径,然后大概就是这些,然后我们看一下主助程序,首先是初始化 shiber, 然后这个是骑骑士和结束时间,然后这个是 啊,这个比较重要,这个是个 constant, 就是你他会把那个我们选定的 k, 然后生成一个去那边的 csv, 就是自适应的取决你的 k, 看下他的实现。 昨天出去的话有是我们的 vip 本身的阔冷,可能有几百个 case 是我们在意的一些,然后这里我们就把 case 在阔冷是里面的,所以给拿到, 然后就可以得到 lines extra, 然后 programs extra 的话,你就是有 key 还有 intex, 把它组合起来,然后再 呃再生成一个类,他的 lines 的是 nice extra, 旁边还有一些基本乱,再加上我们的 prince extra, 就看得到 我们一个芝士印的啊,还有一个那个 csb 的泥类,用的时候的话就是跟普通一样用就可以了, 然后这个是这一点,然后你把数据流加进去,把塑料姐加进去,你先放一些指标,像垂按的那一个,下边 rap 手桌蛋啊, wettens 可以加进去, 这些其实也没啥,然后现金是一百万万一的佣金,设置一下,然后就开始跑结果, 然后跑结果之后把一些指标拿出来,弄成一个大的夫人,打印一下,然后把 case 和事实打印一下,然后这个是画图,然后把这个图保存起来,大概是这样,然后现在就是讲到可是画 啊,那首首先的话,我们这里有很多 k, 比如说随便看一个啊,课程 tell 五十二 weeks off for 使用过滤, 就大概是在在这里他都是用了一个滴蜡影的原因。离开场,我们看一下他的实线,也是姿势硬的,他的上线是可以画六根蜡影, 然后这个是他显示的名字,这个是他要不要画到主图上,然后主图是哪个?然后这个要不要画几根横线作为一个指示的,比如说零线啊,五十、五十之类的,然后这个是显示的名 名字,这样重画一些横线,然后你传了多少个,你就把按顺序把 hb 拆成一个 led 到 l 六扔了,设置画主图上,就画主图上,然后把 啊拿到手头上,这里也可以指定一下,大概就是这样,然后就可以有很多 dna, 就能把所有的 nia 都显示出来,这里看可能还有一个是 macd, 看一下能不能找到 this mcv, 然后先看这个,我们看一下效果, 然后这个就是 啊所有指标都画出来了,呃,比较发展,然后这个是一年半的一个做 t 的一个策略 啊,他用到的资金大概就两万到四万块钱,有做多与做空的, 然后呢?一年半之后赚的是一千六,大概是百分之八一零八,他是创业板和 etf, 这个就是指标的可视化,他有性技术好,喷的是因子。在可视化有什么优点呢?首先,嗯,更灵活。呃, 你比如说啊,你得计算好多基于上一步的结果和计算其他的组合因子就很灵活。就是另一方面是灵活,另一方面是你可说话的时候速度很快,因为你不用再用那个吹的写一遍英子了, 你只要把它显示出来就可以了,这个是就会很快, 然后把策略也结偶出来了,出来就在一个新的进来位置里面 啊,像这下只是为了打印,然后每次买卖是两万块钱,这样会生成一个满载信号, 然后他就输出四个东西,要不要平,平掉买单,要不要平,掉卖单,要不要买,要不要卖,当然就是这样, 所以这里基本上也是固定的核心,你只要改四个进来的车就可以了 啊。今天真的是可说话,嗯,就嗯,大家已经说了,然后只能看一下,嗯,这个是 treyanana 什么就保存了做多和做空的一些结果 啊,做多的话做到十五笔,嗯,这个是两千八百一十四,平均眉笔是赚一百八十七,你应该 时候是赢了六千,亏的时候是亏了三千五十五笔也就赢了我十笔,亏了五笔,然后做空中的十四笔,做空的话是亏了一千一, 大概是这样,如果其实这个也很好,一个优化点就是 这个策略,你只做多多少空,我就能赚到更多一点。不过这只是一个 etf 这一年半的一个情况,如果要验证这个策略的话, 要把时间轴拉长,同时再回测一些其他的一体验,今天就分享到这里。

电话框架一般包括如下元素, cerebral, 大脑存款以下所有元素 data 数据流,比如 return 的股票。 strategy 策略,美瑞曼族的逻辑, signal 信号一般在 strategy 中使用 啊,不知道吧,观察指标热线的话,每天都会有值。安娜拉一下分析指标,回收完后计算的指标。 riter, 将回收记录写入到文件, rock, 创伤,设置,起死资金,佣金等等, 这是一些引用的包,这个是项目跟门禁锁的目录,这是我定的数据,我的策略,这是光彩指标,这是分析指标,这是解析的 主航。叔叔在这里先定一个 surpro, 我妹妹为大脑,然后这个是数学手册的路径 定义,会在起诉时间,结束时间,然后再定义一个数据流,数据流就要加入到大脑,然后把策略信号加入到大脑, 然后挂着指标。我们说了 broke trees by cell, 猜不成这是券商的,然后交易的买卖点和时间收益 加入到观察指标,分析指标的话也分析交易效果,效果比例回撤以及年会收益率, 然后把合适记录保存到这里,如果手上目录不存在的话,就会创建这个目录, 加入一个 rider, 初十之间的话会收回十万佣金,收回万三。这里没有考虑运货税,最后就运行, 然后得到结果,然后可以把图画出来,是蜡烛图,我们可以看一下,我们先看下面,因为没有教育的话,他就没有交易分析下步比例也没有,做的回测也没有,而你画收益率都是为零。我们来看一下这个图。 第一个就是 broke, 他会有现金和设置两个部分,现在都没有的话,所以只有一根横线,买卖点也没有,这里是上面重复了, 这个是时间收益,最下面的话是蜡烛图,今天就到这里了。