做量化一定要理工科背景吗?搭建环境,获取数据,写代码是文科生的老大,难有 ai 加数据,一切不再难来看。首先打开 codebody, 在 对话框输入,帮我安装 bigcloud 数据 sdk, 为了快速可以将文档链接也一并复制给他, codebody 自动完成安装和认证,不用自己配环境,三十秒搞定,直接开始分析, 告诉 cobuddy 我 的分析内容,分析主力资金流出后次日的涨跌情况。接下来, cobuddy 用 big quant 的 c n stockstock money overflow 数据表分析二零二六年五月以来所有主力资金净流出日总样本近七万条记录结果如下, 次日上涨概率仅百分之四十一点九六,次日下跌概率百分之五十六点一八,次日平均涨跌负百分之零点二六。核心结论,主力资金净流出后次日整体偏空,下跌概率超五乘六。我们进一步按流出金额分组,结论出乎意料, 小额流出次日上涨仅百分之三十八,跌最惨。中等流出上涨概率约百分之四十二, 超大额流出次日上涨概率高达百分之四十六。平均涨跌转正相关系数是正的,流出金额越大,次日反而越容易反弹。为什么大额流出往往是恐慌性抛售,短期过度卖出后容易技术性反弹, 而小额持续流出才是主力有序撤退的信号。基于以上分析,我用 coldbody 生成了一套完整策略选股主力净流出加市值大于一百亿,加市盈率小于二十,按流出金额排序 等全池前十。每日调仓回测结果,累计收益负百分之五点一一跑书机准百分之三点一九, 这说明什么?单一资金流信号还不够,需要叠加大盘趋势和更多基本面,过滤策略还在迭代,这才是量化的魅力。用数据说话,持续优化,所有数据都来自于 bigqant, 基于真实行情最新数据的分析。
粉丝24获赞40

quantum 私有化 ai 量化操作系统,是一款可以跑在你自己电脑上的量化系统,我这几天也是在使用它。 首先登录进来主页,展示一些交易机会,这些机会的依据我们后面会说这是一款开源的系统,所以默认虚拟货币和美国市场的内容较多,不过不用担心,正因为开源,这些都是可以自己改的, ai 分 析已经是现在系统的标配了,看过我前面视频的应该知道原理,我们看看这个系统的提示词和封装内容输出的结果吧。 首先关键点位不用看,因为是 a 股,所以颜色和止盈止损都反了,这个想看的可以自己改改。 技术面分析可以看看 下面的关键理由和风险,我觉得也挺好,可以参考看看。 这个系统想设计成多用户的量化平台,所以指标广场可以下载到别人发布的指标。 这个就是我最近一直在使用的功能,它可以自己编写策略进行股票的筛选,如果你不会写代码,也可以用自然语言让 ai 给你写一个。 我这边简单演示一些,给大家看看 结果出来。他还提供了回测功能,你可以把你的策略进行置顶周期的回测。 下面就是实盘策略了,特别提醒,虽然这个系统是开源的,但我仍然不介意接实盘,保护好你自己的账户。 总结一下,因为可以自己无限制的写策略。回测策略我个人非常喜欢这个系统,这几天也是一直在用,如果你也喜欢折腾策略指标什么的,完全可以试试,评分四颗星。 最后再提醒一下,虽然是开源,但我不建议接实拍,因为是开源,所以这个系统是免费的,不要上当受骗。

哈喽,我是瓜哥,昨天说我要搞窝矿,好多人问我这到底是干啥的,咱就是冲着兼职赚佣金去的。 这个平台的逻辑很简单,找规律,写公式, ai 帮你回测数据,策略越牛佣金越多。窝矿腾呢,是国际量化投资公司,就是用数学代码加 ai, 找市场规律判断行情涨跌。 小白第一天进来啥感受?那你们看一下啊,就是这样,全都是英文的啊,编程的话呢,压根就没学过满屏的术语,曲线参数瞬间就整不会了。 不过的话呢,还是有办法的,装一个 ai 工具。我用的呢是豆包,不懂的话呢就直接问,还是不懂的话呢,就直接跟豆包说你大白话,帮我解释一下,然后的话你就能看得懂了。今天是打卡的第二天啊,我的任务的话也很简单,就是把页面里面所有的按钮菜单挨个点一遍,看一下是具体什么意思。 如果大家要玩这个平台,提醒一下大家啊,金融行业是参加不了的,注册的时候呢,千万别填错信息,咱呢不谈一夜暴富,正是因为呢有门槛才适合当长期副业。生根,我是瓜哥,明天见啊。

量化不做样本外 o s。 灰色再漂亮都是空中的,做期货量化谁没踩过灰色暴力尸盘大亏的坑?曲线完美,收益亮眼,一上尸盘就断崖回撤,连续 亏损,本质都是缺少。样本外 o s。 却自动,是检验场真正能长期稳定落地的量化策略,从不靠历史横行四方, 而是用从未参与优化的样本外行情检验策略真实泛化能力。自动对比,就是样本内 o s 跟样本外均位的数据,精准识别过你和 适配市场风格切换,校准真实风控仓位,提前规避震荡趋势,流动性切换带来的实盘水土不服,适配多周期共振动态 a t r 风控,全品种炮力类复杂量化模型, 自动区分交易信号,精准统计年推衰减滚动向前延展,告别人工切分误差,主观美化数据参数,过度优化,严格把控收益衰减、 下铺比例、回撤倍率、交易频率健康一致,只筛选经得起市场考验、逻辑持续有效的流质策略,回测好看不算本事,样本外持续稳健才是样。 用标准化 o s 自动化校验,筛掉百分之八十高危爆仓为策,模拟打底小仓持盘阅读动态复盘,闭 口尖叫,告别灰色幻觉,让变化收益看得见,扛得住。


这套策略几乎不做预测,核心是固定权重配置,只买两只 etf。 银行和芯片。调仓信号不是看指标金差死差,而是到季度就把仓位拉回目标比例方向上,始终做多,不做空,也不做择时。清仓 强度就是两条,固定权重,银行百分之六十,芯片百分之四十。它隐含的因子暴露很清晰, 银行代表价值红利低估值,芯片代表成长高弹性,收益来源更多来自行业 beta 和风格轮动,而不是短期交易技巧组合构建非常直接。标地池固定为两只 etf, 不 排名、不截断、不优化。 仓位上满仓运作,总仓位百分之一百,单票分别百分之六十和百分之四十,集中度高,但结构互补。调仓频率是季度每季度第一个交易日用开盘价把仓位调回目标,不在目标里的清零,在目标里的补到位 手续费按买百分之零点零三,卖百分之零点一三计。季度换手相对可控,但遇到开盘跳空会更敏感。回测区间从二零二二年十二月二十九日到二零二六年六月十八日, 策略累计收益百分之一百四十四点四四,水准只有百分之二十八点一三,年化百分之三十点八四, 波动率百分之十九点三六,最大回撤百分之二十点一四,属于进攻性强但回撤可见的风格。曲线里最亮眼的是二零二四年末附近出现台阶式上行,超额收益明显抬升,之后在高位震荡继续创新高。 称压阶段主要在早期震荡与阶段性回吐,原因大概率来自固定权重的刚性和缺少动态风控。

大家好,我是瓜哥,今天遇到一个熟悉的英文单词, long short portfolio。 portfolio 我 记得是作品集的意思, 那这个翻译应该是长短作品集,大错特错。在金融里面, long 呢是多投, short 呢是空投, portfolio 是 持仓组合。 什么叫仓位?就是系统决定每只股票投多少钱,而且分两种玩法,一种呢是做多,你觉得它会涨,你就买,它,涨了就赚。 那种呢是做空,你觉得它会跌,先借来卖掉,等跌了再买回来还掉差价就是你的利润。所以 long only portfolio 就是 纯多头组合,只买不卖。 long short portfolio 就是 多空组合,有买有卖,就这么简单。对,今天就记住四个字,做多做空。下期聊一聊。系统凭什么决定买哪只卖哪只呢?我是瓜哥,咱们下期见。

你现在大概在跑多少资金?几千万吧。目前我的回测可以控制在百分之十三以内。像我以前可能也是推崇那种满仓的策略的,但是择时之后可以大大的降低他的一个波动性。 那你的逻辑是什么?也是用到了一些大家所耳熟能详的技术指标,看到有一些专家做价值投资的人,他们说技术指标是没有用的, 你觉得有用吗?我们都会把它当成一小部分因子,因为是在一个组合里面,很难去评估某一个技术指标一直有效。 我现在目前的做法可能就是说我会先对第一个阶段的满仓策略,比如说是一个红利策略,对不对?他可能在过去的七八年里面都是稳定向上的,但是他可能并不是那么的一帆风顺,中间会有回撤。对, 这是我测下来的结果,我会启动第二阶段测试。第二阶段测试对于第一阶段测试的结果对他进行一个择时, 那这个时候他其实也有一条所谓的静止曲线,其实你是底层的逻辑是满仓 的,是有逻辑支撑的。对,那你这个择时其实是在这个策略的周期上去做。是的,在保证收益的同时,能够最大幅度的降低最大回测,提高你的卡马比例 和下浮率。目前我的回测可以控制在百分之十三以内。嗯嗯,当然顶级的机构控制在百分之八以内,那你跟顶级的机构差差异在什么呢?可能我的数据频率没有那么高,我现在目前手头有的只有日级别的数据, 加上一些那种分钟的,或者说更高频的,可以更好的去控制这个策略的波动性, 够在日内更快的反应去做止损。你这边可能要等到第二天当天的信号跑完之后, 其实很多真正的赚钱的思路其实并不像大家想象的那么那么的复杂和深刻。当然你这个空间的一些技术的积累肯定是要花很多时间的,但是核心思想其实并不复杂。你现在大概在跑多少资金?几千万吧, 觉得要比上班强多了,都不用每天盯盘。对,其实你的收益是不是每天手机时时都能查看?是的,因为我的策略是中低频的,所以一般来说周一买路之后,后面一个礼拜都不会去动它,所以我都不用特别担心,我就去打球健身了。

呃,大家好啊啊,我是慕言,今天呢我们来学习一个布林加这个 t e m a 指标啊,怎么样去写一个量化交易策略?首先呢,这边的话是它需要用到的参数啊 啊,这边是需要用到的变量那,呃,那个在护护权的那个代码,因为之前的那些策略我写了很多了,我在这里就不加上去,如果有需要的话,你们自己加一下啊, 首先我们用这个乱序,乱序这个代码呢,它是用来做那个跨周期用的啊,我写了一下,你们可以回去改,因为后续的话你甚至可以用这个改一下,用那个 data 来改一下,在开仓那里你只需要改一下,你就可以做跨周期的啊,就是我这个乱序,这里我也给你写好了, 那我们来看一下,首先这里肯定是要先写一个布林通道,对吧?布林通道的代码我也讲过很多次了,这边是钟轨,这边是标准差,那他的上下轨的话就是钟轨加上或者减去两倍的标准差吗?就在这里,对吧? 那我们重点来讲一下今天这个三重指数啊,均线怎么样算出来的呢?首先我们看一下这个参数啊,这个参数的话是十四 十四,这个收盘价的指数平均,十四个收盘价指数平均,复制给这个吧,复制之后再把这个再算十四个指数平均啊,把它复制给这一个,也就是说这条是一条均线对不对? 而这一条呢是用上边的这条均线再计算一下它的平均值。那我们 t m a 的 值是什么呢?我们用三乘以第一个,再减去三乘以第二个的值, 再加上这个十四个啊,下边这个的值的指数平均,下边这个的值的指数平均,你看这个减去这个,再加上这个就是 t m a 的 值, 那我们这节课的话,平常平常的话还需要用到这个 a t r 的 值, a t r 的 话,我们到时候做 a t r 多少倍 a t r 仅此使用嘛。然后用这个 protonic 的 话,就把 呃不灵通道的上松下轨,上松下轨先输出,然后也把这个 t 也没一起输出。让我们看一下怎么写它的开屏仓。首先这里是第一次建仓的价格,把它复制给这个变量 来,我们看一下开多怎么写。首先 marketing 它得等于零,对吧?那最高价我们大于这个负零的上轨,并且前一个收盘价要大于这个 t e m a 的 值,那我们就买一手多单进去, 那开空的话也一样,开空的话 marketing 等于零,对吧?那如果价格下穿下轨,并且处在这个 t e m a 之下的话, 那我们看一下怎么写。首先最低价要小于等于下轨,对吧?然后前一个收盘价的值要小于这个 t e m a, 对 吧?那我们就卖出。那我们再来看一下怎么样写它的,用这个 a d r 来写这个止盈止损。 首先你想写止盈止损,肯定要确认你持有的是多单还是空单,对吧? market risk 的 原因,多单对吧?并且不在建强这种 k 线上面。我们看一下它的止损怎么写的?止损的话,因为是多单嘛,它往下跌,它显示止损的。那我们止损的价格呢?其实就是用建仓的价格 啊,减去两倍的 atr, atr 一定要回数啊,不然会信号闪烁,知道吧?那我们只赢的这个 long profit 呢? 他其实就是建厂的,第一次建厂的价格加上四倍的 et 啊,对吧?那我们看一下 ats 指数,其实就是最低价哦,这里要这里有一个错误啊这里有个错误啊,我们要改一下。 改一下?怎么改的?因为这里的话他还要避免避免他有一个跳空低开的问题啊,有个跳空低开的问题我没有解决啊,忘了写。那我们就把这个也加上喽 啊,就这里他也把他给加上,对吧?那这里他也一样啊这里他也一样啊。这里因为我写错了,把这个也加上, 这样子的话,它就是对的啊,这样子它就是对的啊。这一只一只损,你一定要写对这个价格啊,你要 避免它出现那个跳空高开导致价格对不上的问题啊。跳空高开的话用开盘价嘛,对吧?啊,一定要注意这一点,我是写错了啊,这里也写错了啊,我们进来看一下,到时候一起改。首先 make sure 等于负一,对不对?不在健康这根天线上面。 那我们的 atr 的 止盈,止损止盈。你看止损是这个嘛?止损的话空投止损,它是上涨的,对吧?那我建仓的价格加上两倍的 atr, 我 们就止损。 那我空投止盈的话,它是下跌的嘛?那建仓的比例价格减去四倍的 atr, 那 我们就止盈,对吧?然后我们看一下如果最高价大于等于我们这个啊,止盈的话,我们怎么写呢? 哦,这这里是止盈啊,这上边的是止盈。我看一下啊,这里四倍的话两倍。哦,这这个是止损。止损啊,那最高价的话大于等于这个 止损的话,两倍止损嘛,他往上涨止损。那我这个价格这样写的话就写错了,因为往上涨的话,我要避免跳空高开的问题嘛,对吧?那我要把它改改成这样,这个样子啊,今天的话我写错这段代码啊。 那我们只赢的话,最低价它是往下跌做工,往下跌它写是只赢的,那只赢的话,那我们就可以把它改成这样子,避免它跳空劈开了,我们把这个也也复制进来。 可以,那我们把这个复制进来,这样子就对了。这样子写就对了啊。 这个策略的话,其实他整体的难度并不大啊,适合小白去学习入门啊。整体的话难度其实很小。 ok, 那 我们今天的话,我们的策略讲解就先讲到这里啊,拜拜。

各位朋友大家下午好,那个我们三点半准时开始我们每周四的呃量化的直播,今天呢,呃我要给大家介绍的呢是一个 实际上非常重要的一个话题啊。呃而且呢这这个话题呢,不是特别好理解呃,尤其是对一些新手刚刚接触 tb 的 朋友来说, 会是比较难以理解的一个一个东西。所以今天呢,呃我想把这个话题专门拎出来,呃做一些相对比较深入的一个底层逻辑的一个分析啊。呃 题目呢,我就取了一个大家可能问的比较多的啊一个题目就是为什么图标指令和 a 函数的指令不能混在一起使用, 那我这堂课呢,我还是把它归一为量子三的实验课,因为我在给大家讲这些原理的时候呢,我会用一些例子来做演示,那么我们就呃开始我们今天的这个分享, 我们在服务客户的过程当中啊,经常被问到一些问题。呃说实话这些问题呢, 看起来都是刚接触 t b 的 人经常会问到的一些问题,但是呢说实话这些问题你如果要把它回答好或者回答清楚,其实不是一个非常容易的事情。 所以之前呢,我们很多时候会要求客户,呃请他们到我们官网去把一些基础的或者那个篇基本知识的这些内容,无论是文档也好还是视频也好先看一看,那这样的话呢,就会比较清楚 tb 大 概是一个什么样的机制。 那这些问题呢,站在一个对量化有一些憧憬的这种客户来讲,他确实容易问出这些问题,我觉得也很也能理解啊, 但是难的是什么呢?因为他对量化有一个他自己主观的一个想象,然后问的问题都是基于自己的想象问到的这问题。 那这些问题实际上在 tb 的 这个平台,在实现的过程当中,我们有一套处理这些问题的机制,如果你不了解这些机制的话,那么你的问题会源源不断的提出来。 我这里随便举几个例子啊,比如说第一个问题,很多客户说我策略交易已经启动,在策略单元甚至图表啊里面也能看到有什么多仓、空仓、盈亏的这些显示,但实际账户为什么是空的? 那这个问题呢?有两个层面的可能,一种可能就是确实你的策略有些什么问题,导致他没有发单, 那么这个是属于正常的技术问题。但是更多的时候呢,其实客户的问题其实是因为他并不了解一个策略单元里面显示的那些仓位和你实际账户的仓位之间是个什么关系, 他是属于不了解这个机制,所以他会问。而实际上呢,很多时候是因为这个车的单元你刚刚启动,你里面显示的都是历史的磁场信号和历史的图表的盈亏, 因为这个时候你还没有启动到实际账户没有关联,所以实际账户当然就没有没有仓位了,你需要做一个头寸同步啊,走入此类的, 这是第一个问题。还有类似的,比如说报表上有信号,账户没发单,或者说实际上我有发单,也有持仓,但图标上没信号,那这些呢?如果从 正常角度来讲,就是如果不是属于这种理解上的问题的话,那这个肯定就是策略要去调试,那是那这些问题的发生呢?实际上很多时候就是因为策略没写好,对吧?这信号可能有闪烁,或者说是有 先没有信号,后面再补的信号这种情况,这种不叫闪烁啊,这种不叫消失了,他相当于是呃,两次运行的这个信号不一样啊,就这这是第二种情况, 像我今天举的这个例子呢,大概举了我举了八个,但实际上实际上平时问到的例子各种各样都有,但是不管这个 问题怎么变化,其实他的本质都是跟我们今天后面要讨论到的这个公式运行的一些底层机制是有很大的关系的啊。比如这里面有些提到的要及时的进出场,那为什么我们不能实现及时的进出场呢?实际上也不是不能实现 啊, a 函数策略就可以啊啊,或者图表策略其实也是可以做到的,只是说他涉及到历史回测会有些问题 啊,还有的想根据实际账户的权益,或者根据权益的回测,或者根据策略的实际账户的表现等等来对策略本身做一些调整。那这个东西就是因为他对图表策略的原理没有搞清楚啊, 当然你说 a 函数的这些都不存在对不对?你完全可以读到这些账户的信息,包括很多客户问问题的时候呢,他也没有一个基本的 你的使用场景的一个描述,一上来就是直接问问题。那当然我也不知道你是用 a 函数写还是用图标来写啊?我们一般当然是默认这个用户是用懂图标交易指令来实现的,是吧? 还有的更让我都不知道怎么回答的,就是说我们正常是交易账户和图标去同步,因为图标他是,他是根本,交易账户是实际上是把执行图标的一些指令而已, 他要求不要交易账户和报表同步,而要报表和交易账户去同步, 我觉得这个就就有点本末倒置了,对吧?因为你本身所有的交易都是基于报表的处理结果, 那你怎么可能继续交易账户的结果呢?是吧?当然了,如果你有手工交易,然后程序化,怎么样去监控他做后续处理,那这又是一个策略的问题,那就另当别论了啊。还有一些这个类似洁面的啊,或者说要和其他品种交交互的这么一种这些策略, 那这个呢?其实都不是一两句话就能说清楚的,你在没有对这个 tb 这个策略平台的运行机制有了足够的了解之前,你问这些问题只是因为 你想实现这一类的策略。但是在这样一个很陌生的平台,你去实现这样一个策略,你如果对平台的特性没有一定了解,这种策略你就算有一定的边界能力,你都没法做啊,是这么一个情况。 好,那我们今天呢,就想把这个问题来来聊透一下,为什么 会出现这些问题,甚至这些问题你都很不好用几句话说清楚。这里面我认为本质是因为客户对量化策略的运行的 理解,或者说他理想的一个目标,和我们平台所提供的这个运行机制之间是存在相当大的一个差异的,那我是根据很多客户的提问,我得出一个大概的结论就是用户的理想目标 大概是相当于我们 a 函数指令实时交易,再加上图表指令的历史回折这两部分的一个合集,它需要的是这两套交易指令的一个完美的一个结合。 但是现实的状况是我们暂时没有办法提供这个很完美的结合, 原因我后面会讲到为什么会这样?所以目前现实的状况就是我们 a 函数 只有在实时的时候有效,它历史是没有效果的,所以 a 函数做不了历史回测的事情。 而图标指令呢,它理论上是可以实现 a 函数所做的一切实时的交易,它都能做,通过什么全聚变量啊,这些各种变量啊,数据库啊,或者说是宿主啊这些数据结构, 理论上它也能做到和 a 函数类似的功能。但是 a 函数指令的它一个 非常大的一个职责是他还要承担历史回测的这个重任,所以图标指令的策略他即使能实现,他也必须要考虑如何应对这个历史回测的问题。 这就是用户的想象中的一个策略,平台和我们现实能提供这个平台之间存在着很大的一个差异,这就产生的很多很多的问题。 那么当然我认为正确的做法肯定是根据平台目前能提供的状态,而不能活在你自己的一个一个想象当中,对吧?你认为车里平台应该是这样,应该这样,那这个世界有很多东西因为科技的进步还没有到那个地步,所以你没有办法实现啊。 那么接下来呢?我会,呃,先把这个道理啊,就原理跟大家讲一下,然后我会在我们软件当中通过 a 函数图表的一些策略的,已经实现的策略的实力啊,就是它怎么运行的?我来给大家讲解这里面的一个一个里面的一个底层的原理。 为什么我们现在没有办法提供一个非常完美的这个公司运行机制,或者说是完美解决用户想象中的问题的一套机制呢? 这个核心原因是因为我们目前的机制是这个样子啊,待会讲。那那为什么不采用更好的机制呢? 是因为我们目前技术上还很难做到啊,而且目前市场上也基本上没有这种这种能够完美解决历史回溯和事实交易的这种这种平台啊。那我们现在 t p 平台是怎么处理的呢?我们是用了一种呃,我认为是折中 同时兼具性能和效率的一个比较好的一个性能效率比的一套解决方案。 我们现在采取的是什么?是同一套策略,身兼两职,他既要负责实施完成实施交易,又要负责支持历史回测以及策略优化等等。 但是实时交易和历史回测他们的运行机制是是不一样的,这是有差异的。 为什么有差异?天然的他们两者的数据就不一样。实时交易是什么?是每个 tick 都在更新数据,按照我们目前国内期货市场呢,大概是每五百毫秒更新一次行情,当然还有不成交的情况啊。 那历史的话,我们目前只能根据,就绝大部分的历史回测,我们只能根据历史的 k 线来做,那和用户想当然的会提出要求对不对?历史回测为什么不能像实时交易一样逐个替个来回放呢? 从技术上来讲,目前是可以这么做,但是这里面带来的 效率的下降是远远我认为是得不偿失的。因为假如说我要回车十年的这个做十年的历史回车,那我得把十年的历史数据每个 tick 的 重新跑一遍, 这个难度有多大?首先你得有十年的 tick 数据,第二个就算你有 tick 数据,你的测试也只能基于数据本身而无法结合。像我们前面的问题提到的,有些用户他会结合账户的情况, 结合盘口的情况,那这些数据你是没有办法在历史回溯的时候,除了行情的这个数据你要提供,你还要提供账户的每时每刻的数据,还要提供盘口的每时每刻的数据,这个能做的到吗?这个目前国内应该是没有,没有公司能做到的, 没有平台能说。那我们现在历史回测只能什么?在基于 tick 数据的情况下,我们做一个有限的时间的一个回放是可以的,比如说你做个几个月是吧?甚至一年是有可能的,但是你要再长就难了, 而且即使只能够实现,这种回测的速度是非常非常慢的,更不要谈优化了,是吧?所以从 最终结果来讲, tb 现在提供的是一种历史回测,一种近似的接近真实结果的一种回测,而实时交易力求精精、准,那么这样的话就能达到一个 性能和效率的一个平衡,就是我性能,可以说百分之八九十的性能肯定是已经达到了足够满足用户的需求了,而效率我们比刚才的那个 tick 回测知道快了多少倍,对不对? 所以是目前是这样一种情况,所以我们采取了同一道策略,同时兼顾历史与同时兼顾实时交易的这么一种方案。 但是这里面的难点就在于,实时交易我是可以根据 tick 数据来做一些判断的,而历史回测我只有一根 k 线的一个数据,不管看你在什么周期上面,对吧?你是日线还是分钟,你始终是只能拿到这个时间周期的一根 k 线, 而实时是可以拿到这根 k 线的所有的 tick, 这是两者之间的区别。而更难的一点是什么?因为我们是同一套策略, 那么我们同一套策略呢?这我画了一个图啊,叫历史不断向前,当前的实时终将成为历史。就是假如我现在是在这根 k 线上面跑,这是实时, 这根 k 线上面我可以对所有的 tik 进行处理,但是处理完之后,到了后面时间往后推,随着时间的往后推移,他这根也成为历史了,而新的实时交易又出现了, 那这个实时交易刚才每个 tik 跑出来的结果,在历史回测的时候,他怎么去跑?他没办法再按照实时重新跑一遍,他又会归入像历史回测一样的机制,就是根据他的最终 k 线来进行策略的运行。 所以难的是实时会变成历史,如果他一直是实时也好办,对吧?那实时又变成历史,那历史回溯的它结果和这个实时就有可能会不一致,那我们整个这道平台,我们要求我们的策略在实时和历史之间是要求无缝衔接, 你在实时产生的信号在历史当中也要能产生,否则就是我们经常听到的信号闪烁或者信号消失。 所以我们在真正用能够支持回测的这个图表交易指令编辑策略的时候呢,我们虽然实时的时候可以做很多处理,但是我们没办法做这个处理,因为当它变成历史之后,你就相当于你没有实时的这些数据的支撑了, 这是我们真正写策略,写图表交易指令的策略的难点和为难的地方。那那大家会说为什么信号必须保持一致呢?我就闪烁又怎么样呢? 那么这就涉及到历史回测的一个一个关键的点,如果实时交易的时候,我做了五笔交易,历史回测我只挑赚钱的 列出来,亏钱的我就抹掉,那这个历史回折是不是会变得非常好,而实时交易亏的一塌糊涂呢?那如果是这样的话,历史回折还有什么意义呢? 是吧?所以我们还是要保持实时是什么状态,历史回折就是什么状态,报告也是什么状态,这样就能保证历史回折和实时交易基本达到 几乎相同的结果。当他实际的时候是有差异的,因为还有盘口,还有撮合是吧?还有滑点等等这些这些因素。所以实时和历史的哪怕是同样的数据,什么都同样,他真正跑的时候还是会有差异,但这种差异一定是在量化投资者可以接受的范围之内 啊。这就是我们 t b 平台运行机制当中,目前对这个问题比较难,难以解决的一个一个关键啊。 那当然呢,可能的解决办法也有很多啊,当然这个只是基于我个人的一些认知,我提的一些一些方案啊。呃, 当然可能的方法可能还有更多啊,我待会呢,讲完这个我们就回到这个软件里面,我就给大家做介绍啊,我们是怎么,大家是怎么想的?我们是怎么想的?我刚刚讲的这些问题是是怎么样一个问题?因为这个我这个描述可能 讲起来比较轻松,但大家可能对这个东西理解是要花一定的时间来来慢慢领悟的。 那可能的解决办法一个就人为拆分,我就是历史回溯之,就负责历史回溯,我就用图表的这一套,只基于 k 线,不管实时的状态。那如果是实时交易呢?我完全可以基于实时交易的做一些特殊的处理。 那当然如果做得好一点,我实时交易做完之后,如果这部分成为历史之后呢?我还想 这个,把这个历史啊,把把这个实施交易做过的部分怎么展现出来,那就回到这个地方,实施写法和历史的写法分开处理,就是你判断他如果是在实施交易的时候怎么判断?判断完了之后 回到历史了,那怎么让历史上能把他做过的这些信号完整的展现出来?那这里面当然手法可以很多,但这是原则性的东西啊,就是你,你怎么样让你实际跑过的,在在成为历史以后,你还能保持这个信号不变, 但这两种方式说实话都会导致一个问题,就是你实时的这些写法只是影响实时交易,无法影响历史啊,无法影响历史历史还得按照比较粗的那一套方法去做一些测试。 那么还有一种方式就是用 a 函数指实际跑策略回测呢?就通过账户分析。那为什么 a 函数它不能够做回测呢? 因为他没办法对历史做处理,他一定是基于实时的行情的,对吧?他会,他会根据你当前的账户情况,行情情况,甚至盘口的情况,他来做一些处理,但一旦成为历史,他就没这些东西了,是吧?账户是没有历史的东西的, 他的回测就只能通过账务分析来进行,但是这种回测方式呢?测不了太长时间,历史你也测不了。 那当然还有一些变通的方法,像我们平台啊,也提供了一些这个回放啊,包括可能第三方也有一些回放,将来我们可能还会在回放这方面做的更强大。那我通过 a 函数来回放,回放的时间如果足够长的话,实际上也相当于是,呃, 实际跑过这个策略以后的一个掌握分析结果是一样的。那还有一个方法呢,就是我们矿的三里面提供了一个跨周期的一个新机制。 那这个呢?我们以前在介绍量子三的新功能的时候,我们讲过啊,就是它是提供了一个对小周期 小的基础周期的一个一个支持。那什么意思呢?就是本来我们的历史只有一根 k 线,我只能运行一次,对吧?我只能运行一次, 那现在呢?我有了一个小的时间周期之后,比如这个是小时线,那如果引入一个一分钟的基础周期呢?就相当于把我这个一个小时的六十分钟我拆成了 六十个状态,每个状态都是反映了我这个小时线的它的当时的状态。那这就好了呀,我相当于我把这个小时线可以在历史上面也跑六十次,虽然六十次和 tick 数据的 一百二十次。一小时六十分钟,还不是啊,一分钟六十秒不止,说错了啊,就一小时六十分钟,六十分钟等于乘以六十秒,等于三千六百秒,等于七万两千次的运行, 那这个差别还是很大,这六十次和三千六百次的七千二百次的概念。但是对于很多中频的策略来讲,也许你已经可以规避绝大多数的问题, 除非是非常高频的策略。那你需要到更小的时间周期上面,而我们是矿的三的跨周期是可以支持 更小的时间周期的,是吧?我们可以支持到这个这个一秒,那这样的话实际上也就可以跑三千六百次, 但是同样受之于我们要需要这么长的一个历史数据,而且运行效率太慢啊,所以这些问题解决是可以解决,只是效率很慢啊, 这就是我今天把问题提出来,大概有这些问题啊,然后我接下来呢,我想进软件里面来给大家做一个,呃,就上述这些问题的一个一个讲解吧, 我先看看有没有问题啊?好,没有什么问题,太好了,那我们开始啊。呃,为了讲解这个, 这个大家期望的是什么样的策略,以及我们能实现到什么程度。呃,我, 我把这个我们 t b 里面实现策略的两种方式啊,或者说两 两大两套。这个交易指令我分别实现了一个简单的一个策略。呃,本来是写了一个四周,但是我后面我想为了演示方便呢?我我我想了一下还是改成用单均线啊,用单均线来做演示,那我先写了一个 a 函数的, 哦,忘了,糟糕,还是还漏了一个内容了啊,就是我本来昨天是用四周写的,那四周的那个那个图标策略都忘了,忘了改了啊, 但没关系啊,原理是一样的。我们先看这个,我用 a 函数写的一个单均线的一个一个策略,我现在是在回放的环境下在跑啊。呃, 我们现在看一下这个大概的我这个页面的一个布局啊,给大家先讲一下就知道大概什么意思。 左边呢?我是放了一个 k 线图,再跑一个,跑一个策略,这个是 a 函数写的策略, 我觉得大家可能大家心目当中期望的策略大概应该是这个样子啊,当然他有他的缺点,他就不能回撤,对吧?我在这个地方跑,那 a 函数我为什么要放在 这个 k 线里面跑,而没有放在策略单元里面跑呢?就是因为我毕竟还要还要看他的这个,呃, 这个行情走势以及这个交易指令是不是吻合的一些,要做一些调试,那如果放在撤退单元里面呢?那就等于是两眼一抹黑,什么都没有,因为它本身又没有信号,只能看这个。呃,最后账户的一个成交情况那一啊,那右边呢?我是放了一个 三个,呃,应该是四个啊,三个,四个,哎,为什么我这里还多了一个 啊?应该是四个啊,放了四个窗口,那这个是通过主键切分出来的,我给大家演示一下这个基本操作啊,虽然这个本来不在今天的这个讲的这个范围之内。刚才有一个朋友,呃,讲这个基本操作大概是怎么做的,我也就给大家稍微演示一下。 哎呀,这个挡的了一点啊, 点这个加号新建页面,就会出来一个有各种布局以及空白的这个页面啊,那么我这个页面呢,实际上有点类似,这个有点类似一号模板啊,也可以用一号模板来做啊,也可以用空白的来做,都可以。 呃,我是用空白的来做的,比如说我点空白,空白之后呢,那么这个就有个桌面了,有个页面在这个地方,然后你可以点右键添加内容,对吧?我首先呢我来了一个 k 线图,这 k 线图呢,就是我准备跑这个 跑策略的,我把它换成一分钟,对吧?然后这个地方待会结束编辑以后把它插入策略就可以了。 那我现在想在右边这个地方,你看有一个这个箭头,很多朋友不知道啊,他说怎么展开,看右边的这个调试台, 如果缩小了,就这个地方有个箭头把它展开,这右边就是有分笔的这个信息有分架,是吧?还有信息,这个就以前的 comment 输出的一些信息就可以在这个地方看到,还可以调试,就是用 print 输出的信息。 好,那我在右边我要插入四个那样的显示委托成交时仓以及账户资金的信息的那个窗口,那么我先点 右键,这个地方有个右插入,我就点个右插入,那这边就来了一块,就把屏幕把整个页面分成了左右两块,然后右边呢就是一大块,那么这一块我又可以继续什么?在下面插入,又可以分一下,然后上面我也可以点一个下插入,是吧?下面我还可以再点个下插入, 这样就分成了四大块的四个组建的空白区域,然后我们再分别点右键,把它更换成相应的内容啊,点右键也可以,或者从这边拖拽也可以,是吧?这边不是有一个竖形的结构吗?比如说我们点呃交易相关的对吧? 委托列表放在这对吧?成交列表放在这, 时长列表放在这,然后还有一个账户信息的啊,是资金列表放在这, 那这样就是我刚才那个图怎么来的?然后要运行策略的时候,我们再点啊,我们退出编辑,然后在这个地方点一个策略应用,再把这个公式添加进来就就可以了。好比如我这个公式就照照这个,但是呢这样一运行呢,等于两个公式会在两个地方运行啊, 然后输一些参数啊,改一下参数就可以了。 那我们回到这个啊,那我这里面呢,我是我们来看一下这个参数设置啊,我写了一个什么大致什么东西呢?我只是为了这个,不是策略啊,我只是为了呃,讲解大家实践过程当中可能会碰到的一些一些问题,那么我想这些问题 如果要实现大家的要求当然是用 a 函数来写,是功能最强或者最能适应你的各种策略需求都可以 啊。我大概写了个什么东西,就是一个单均线,然后我加了一个突破的偏移,否则的话呢,如果单均线往上突破一个点就做做多,往下一个点做空,那可能会再来回的 这个反手啊,我为了让这个信号不要变得那么多啊,过滤一些这个噪声,所以我加了一个突破偏移,加一个几跳的偏移,那么这个就是跳数,我这里加了五跳,加了五跳之后呢?然后这个是交易的手速, 如果等于一的话就做一手,如果是等于零的话,就表示不是固定的手速,而是什么?而是 而是按杠杆啊,而是按杠杆,那么那么这个杠杆呢?就是我们这个地方设的, 那为什么我要做一个杠杆的演示呢?就像我前面在 ppt 里面展示的有些客户提到的问题,对吧?他希望我我的策略呢,能够根据实际账户的权益来决定做多少手, 那这个是图表策略没办法做到的是吧?他虽然也可以做到,但就像我刚刚在 ppt 讲的,他只能在实时的时候做到,那历史的那些信号怎么办呢?他的手术怎么决定啊?就会存在各种各样的问题 啊。所以如果你是对这个非常在意,我就一定要用交易账户的实际的这个这个权益来做的话,那么你就用这个 实际账户的交易杠杆啊,这么来做。那么 a 函数为什么能实现呢?因为他可以去读账户的信息,对不对?所以我这个地方呢,就是为了演示 a 函数,为什么能做到啊?因为他有这种这种功能,对吧?然后接下来就是一些大家常常见的一些需求啊,比如说 止损多少跳,止盈多少跳,然后我这个地方还做了一个跟踪止盈,我做的为了说明问题,我还特地做的比较复杂一点啊,就是 设了三级的跟踪止盈,达到多少盈利多少跳游回落多少跳啊?盈利多少跳,游回落多少跳,盈利多少跳回落的啊,这个地方还写错了,这三级啊,嗯, 就是一级、二级,三级啊,三级。那现在呢?我把这个三,这个三个呢,我全部改成了一个很大的数字,就等于是没起,这个就不起作用了,我只设了一个最简单的一个,一个止损,一个止盈,对吧?然后一个杠杆,如果是你设了手术的话,就不用杠杆,就大大概这么一个东西。 然后呢?我这边,呃,因为 a 函数呢,它是它可以按照你的需求做任何事情啊,它可以做得很好,就是你你只要把这个指令说清楚了,但是当然这个本身复复杂度也是很高的啊,就是 a 函数它的它的编辑和调试都是非常难的,所以, 但是呢,它有这种能力,是吧?只要你策略能够把逻辑给它梳理清楚,你是能实现的,那只是工作量大而已, 但是他没有什么很好的展示,因为底层就是我们 tb 平台的底层,除了提供一些函数之外,我们并没有为 a 函数的运行,我来帮你做一些事情,相当于他把一个完全 定制化的东西交给用户自己来做了,所以这个难度是是很高的。但是如果你有一些就是一定要实时处理的东西的话,那么 a 函数显然是有他的优势的,这个对图标策略来讲就非常的非常的难啊,非常的难, 所以我这边通过 print 呢,我输出了一些呃信息,就是呃我当前的买屏买开,卖屏卖开的大致是个什么情况,是吧?我现在是是属于 呃什么时差?比如现在是我身上已经平仓了,对吧?平仓了,那这个地方呢?我就有一个当前的 mp, mp 呢?是我取一个变量啊,我自己用了一个变量来记录当前的类似图标的 market prediction, 那 么那么这个 market prediction 呢?是 目前是等于零的,他前面是一个做空,是吧?做空然后这个地方止盈了,对吧?我我设了个六十条就止盈,他就止盈了,止盈了以后呢?他就变成没有没有单子了。那这个呢?是当时持仓当中的一些 这个盈利的情况,最大盈利了多少?这个是跟踪止盈用的,是吧?还有最大盈利的价格是多少啊?当前这个呃 引力的跳数是多少跳?当然这个都是基于当时止仓的时候的一个信息啊,变成清仓之后没有把这个清掉。为什么呢?我觉得也没必要,是吧?等到下一个信息来的时候,他马上用新信息代替嘛。然后这个地方就可以看到前一笔大概是个什么情况啊?然后 然后这边是你整个账户的持仓情况,可可平情况,可得空,那这边是做多做空的这这几根线的情况啊,就大概是个这么情况。然后呢?这个是因为我我在准备这个时候呢就一直在跑 啊,但是你可以看到我这个地方也有些买平啊,迈开啊这样的,这个好像类似跟信号差不多的东西,那这个呢?只是产生信号的时候,我把它输出了,对不对?那一旦我来来一个刷新的话,我重新运行的话, 大家可以看到这些信号通通没有了,为什么?因为这些已经成为历史,而 a 函数呢?他是 只有实时的时候有效,他这些历史的时候不管怎么跑,他是产生不了任何东西的,所以这是和图表的一个最大不同,虽然我在做的时候,我可以我不刷新他,我可以看到他当时是怎么做怎么做, 但是一旦它现在最新变成这根呢?它只有从这根开始运行的东西才有可能留下来,之前的东西一概全部清零了 啊,这就是我们大家想用的,比如说很多人觉得 a 函数很好啊,我就喜欢 a 函数啊,对不对?但 a 函数它也有它的一个短板,就是 那么今天呢?其实我花了很多时间来准备今天的这个讲课的一个短板,就是那么今天呢?其实我想写一个 a 函数的一个例子,放到这 跑给大家看啊,你 a 函数大概是怎么回事?当然这个代码调试过程中,即便我已经最近说实话已经写过好几个这个 a 函数的这个代码了,但实际上在调试当中还是碰到了很多的,呃,各种不小心啊,或者不注意啊,或者逻辑上的一些没树立清楚啊,还是有同样有这些问题, 所以整个 a 函数的编写难度是非常非常大的啊,非常非常大的。好,那我讲完讲这个 a 函数呢,我只是想说明它的这些功能, 它在实时的能实现的功能,我们其实用图标也是能够实现的啊,也是能够实现的那一种方式呢?在图标实现的时候呢,就是你还是和这个 这个东西没开哈,我把它启动起来就继续让它跑吧。 那么如果你用图标策略去写这个东西的时候呢?你实时的时候也是可以像 a 函数一样的用各种的全区变量啊,什么 map 类型啊,什么来记录也是可以的,都是没问题的。 但是它存在的问题和刚才我 a 函数刷新的这个问题是一样的,就是一旦回到历史以后,你刚才产生的那些信号通通消失了, 那这对 a 函数来讲无足轻重,因为他本来就不做回测,他只要实施交易正常就可以,是吧?你像我刚才已经停了一遍,然后重新启动的时候,我马上去图账户自己的本身的磁仓是吧?当前什么信号我重新来过就是了,本来也是没有磁仓对不对? 他基本上可以根据实际的情况及时的做调整,而且他图标上是没有任何基于图标的东西,他是完全跟账户实际结合的非常紧密的一类策略,所以这种策略实时对他来讲一点问题都没有,那历史没有,本来就没有,对不对? 但是如果你用图表的话,你就要考虑你现在能做一些处理,那回到回到历史怎么办?那就不好办了,对不对?好,那讲完了这个之后呢? 我们我们这样哈,待会有什么问题,我们等到提问的环节我们再来看啊,我就先闷着头子把这个,把这个内容先讲完啊,那么这是这是这个 a 函数的情况,然后同样呢,我还做了一个 图标的例子啊,做了一个图标策略的例子,但图标策略我是怎么做的呢?我跟刚才的那个 呃 a 函数的就完全不同,我做了一个跨周期啊,那为什么要作为跨周期呢?我只是想演示通过图表策略同样可以实现 a 函数类似的功能啊,类似的功能, 而且还可以兼顾一定的历史信号,只不过这个数据不能太时间段,不能太长。 呃,因为图表策略呢,实际上它在实时的时候,它每个行情的变化,它和 a 函数是一样的,它也能够获取到,甚至包括你账户的 慈善情况,权益情况,他也能获取到,只不过是当他成为历史以后,他就没有这些信息,所以他的信号就没有办法利用这部分信息。而我现在呢,因为我希望把历史的信号保留下来,所以图标的数量呢,就 就没有办法利用当前最新的一些实时信息。这是图标 交易指令,为了完成他身兼两职啊,既要做实时交易,又要做历史回测,身兼两职而做出的一个一个让步,或者说一个一个折中处理,没有办法。 当然我在实际写策略的时候,我曾经也写过类似这样的策略,就是我实时的时候会做一些处理,然后历史的像这种呢,我也会把当时的一些信息全部保留下来,这样的话,当我重新去刷新这个是吧?你看我,我可以无论怎么刷新,他这个信号都不会变的。 那这样的话,我可以保证我在刷新的时候我这个信号仍然是有效的,但是这个代价很大,因为我相当于我每一次产生的任何的操作的信号的时候,我都要把这个信号记录到一个持久化的地方,就是类似数据库或者文件啊,或者基础数据类似这样的东西。 那这样的话是可以做到我只要从什么时候开始跑,我的历史信号也在我实时还可以继续处理, 就比 a 函数的要稍微完美那么一丢丢,是吧?因为它至少还可以做一个已经操作过的历史回测。 那我现在这个图标策略我是怎么实现的呢?我是在一个一秒图啊,是吧?你看到大家可以看到吧?我的这个策略单元是一个什么?是一个?是一个秒 n, 秒图 n 等于一是一个一秒图, 一秒图就相当于是比一个 tick 稍微大了一倍啊,就是颗粒度大了一倍,那这种情况下,但是一秒的行情不会有太大的变化,对一般用户来讲已经足够了,除非你是非常非常极高频的。但是 tb 也做不了极高频啊,因为我们本身的行情就是走行情服务器的,不像那些 高频,他是要把他自己的这个这个交易的机器放在这个交易所啊,或者放在这个机房旁边的,那他们对速度的要求是非常非常高,而我们这个是没有那么高,我只要保证我信号不闪烁,是吧?我能够基于一些最新的这个行情做一些处理就够了。 所以呢,我这个策略的实现呢,实际上是通过一个跨周期的方式,我就叫 m t, 就是 啊, multi time frame 啊,就是多周多个时间周期,那用一秒图来产生信号做处理,但是它实际上它它读的呢,是一个, 是一个十五分钟的图,当然你也可以改啊,因为这个有参数的,我这里是用的十五分钟的一个图,那么这个车呢?我就忘了改成这个单均线的啊,我还是用四周的例子啊,所以,所以两个例子不太一样啊。那个 a 函数的我已经把它改成单均线了,因为单均线比较好演示的是什么, 他看的非常清楚,是吧?上去买开,下下来卖开,对吧?是非常非常清楚的,所以这个这个这个这个是不一样的啊,那那个那个刚的啊头, 但是我这个呢用的是四周的例子,但是不管用什么例子,这个原理其实是我们其实需要学习的是怎么去实现这个的一些基础的东西啊,就是公司运行机制当中很基本很基本的一些原理。那你把这些东西搞清楚之后呢?你再去 处理各种各样的问题的时候,你就,你就心里有数了,对不对?你就心里有数了啊?像前面我们在 ppt 里面讲到的,有些用户说,呃,为什么我在这个这个地方啊有信号没发单,那很简单呀,你就 当然已经过去的事情,你要调试是非常难的啊,除非你去看日制,你去看这个这个点到底发生了什么,对吧?这个系统会做一些日制,但是系统的日制没那么全,那么我们调试设备的时候呢,你就把这个每个产生信号的地方,你会输出一些日制,比如我,我做这些东西的时候,我, 我其实是有写日记的,对吧?我就放在我第一盘,比如说这个白银,对吧?我就说止损处理怎么怎么样,对吧?罚单又怎么样,对吧?我都,我都有一些,呃,比如说这个合约买入它价格是多少是吧?它的坝是哪个?它的那个盈利峰值 是多少?盈利了多少点是吧?这个这个都都有一些东西的啊,那你有了这些东西以后呢?你就你就可以去做一些 类似这样的跟踪,对吧?你就知道,哎,为什么这个地方明明有四手这个做空的,为什么我当时没有发单呢?然后就看他当时的这个这个记录的这个情况以及发单的情况,对吧?你你再去看就是了, 是因为有可能是一种情况,是什么?这个现在显示这个地方做试守,实际上在当时这个晚上这个地方是什么?十一点钟这个这个时间的时候呢?其实并没有出现这个信号,只不过是你后面在刷新的时候,他他这个信号又出来了。 那么这种就是策略编写存在一些问题啊,就是编写不正确,正确的情况应该是什么?就像我现在这个,这个,这个啊,我比如说我随便回测一下啊,这个是转一一零一九零,对不对?好,那那我刷新 是吧?我刷新等于是重新运行一遍嘛?运行完之后我再来看策略报告,一零一九零,对不对啊?当然这是现在,因为是没有持仓啊,如果有持仓,因为这行情还在走,那他理论上会有些变化,但现在是因为已经平仓了,所以你,你怎么刷? 无论你怎么刷新,你这个运行多少遍,你哪怕关机以后再重新运行它的这个信号都应该是要不变,这才是对的啊。 当然如果你的信号什么都正常,那你要去查这个数据是不是样本,是不是一样,是吧?比如我现在是从哪天开始的,那么下次关机以后开始,可能这个样本书又发生变化了, 所以这个各种 t b 问题的,无论是提出问题也好,还是解决问题也好,其实你都少不了要去这个对 t b 的 这个 这个各种运行机制,你要有一个非常深的了解,所以我我个人是认为今天我讲的这个内容呢,呃,说实话,听起来我不知道多少人能听懂啊,就是说可能大家听起来也许会感觉到有些吃力,那么 那么对新手来讲,要听这堂课完全听懂,我不知道难度大概有多大,因为我我也说实话,没办法, 准备时间还是不够啊,我没办法举出那种非常非常有,有又生动又有趣,又能够这个说明很恰当的说明问题的这个例子。所以我只是先把这个这两种策略的一个大概的一个情况跟大家讲一讲。 这些内容呢,我按照我的理解,我认为是应该在呃, tb 的 各种培训教程啊,就是量化的这一块啊,尤其是涉及到编程的这个这个教程当中呢,我认为是应该放在非常前面的位置来介绍的。但是呢, 非常麻烦的一点是什么呢?这些东西的理解可能又对用户来讲又有一点点难度, 所以这个是一个比较矛盾的事情啊。就这个事情,我觉得本来应该放在最前面的地方来介绍,下载完软软件,把一个环境搭建完之后,讲量化策略的运行和编辑的时候,我觉得就应该介绍这部分的知识,因为 今天这个知识的介绍给用户有一个非常大的一个,一个解决问题的一个一个地方,在什么呢?就是如果用户能够很好的理解 图表策略和 a 函数策略它们之间的这个本质的差别的时候,你就会发现你想把 a 函数的一些那个实时的东西和图表函数结合起来的想法是 几乎不可行的啊,几乎不可行的啊。这个原因就是我们刚才已经讲了好多遍的,就是我实时能获取到的东西,等到历史的时候他没有办法获取到,这就是这个问题的关键啊。那实际上我们公司的这个 好,那这个例子呢?因为今天呢,我不想讲代码,实际上这些代码我我都写好了啊,就是,呃, 这个其实也很简单,就是你在大周期上面运行一下,然后小周期上就把大周期的那个数据读过来,然后跟在小周期上面的产生信号,那其他的处理就跟你在一个周期上处理一模一样,那这样你就可以做到秒周期的进场,是吧?这就是图表 策略,通过这种跨周期的方式其实可以实现一个非常强大的一个功能,它唯一的缺点就是历史回测的时间稍微短了一点啊,稍微短了一点。 好,那我们在这个例子,我们到时候再看那个,如果大家有什么疑问,等到大家提问的时候,我再来给大家这个,呃,再来更深的讲解啊。本来呢就说我,我本来是想那个 就是通过录屏的方式把这个回放的这个速度啊,把它,把它调快一点,因为我现在虽然我也是在回放状态在回放,但是因为我这里面呢有一些处理,所以我这个速度呢,嗯, 好像也也不能提的太快啊。一个提快之后呢可能,呃一些 tick 的 处理呢?会不会漏数据?这个我不是特别确定啊,就是我怕有这种问题。还有一个就是,呃,我自己在测试过程当中确实速度快了之后,他有时候软件有点有点这个, 这个不知道是这个负荷太重还是怎回事啊?就是会有点有点问题,所以我现在也只敢用常数在这在这放啊。但这个好处是可以来回,你可以回到某个点重新开始,你去看一些信号,他是不是处理对了 啊?这个测试我测了,我也调试了很长时间,因因为中间有一些出乎我意料之外的一些各种各样的问题啊。 呃,其实这个就是做策略的过程啊,这个你对 a 函数的理,这个机制的理解是一方面,那么你对策略的理解又是另一方面,那么这里面是有太多东西要要去处理了啊。 好,那我们再回到 ppt 里面,呃,我再把剩下的一些内容,呃,再再讲一下。好,那,那刚才是讲了这些啊,这些, 好,那接下来呢,我想做一个,呃呃,也算对今天的内容做一个简单的总结,然后呢 对未来做一个一个一个期待吧。因为是这样的啊,为什么我今天选择这个时间我要去讲这个内容呢?其实这个内容我我想了很久啊,本来因为我刚才讲了这个内容,我认为应该是在 t b 的 呃量化的使用或者编程的 整个培训教程当中,我觉得应该是在应该前置的一个位置啊,应该在很很开始的位置就要讲这个东西,至于大家懂不懂,可以在使用的过程中慢慢去体会,但至少要有这个概念。 那,那为什么今天这个节点我来讲这个东西呢?呃,是因为我觉得这今天算是一个我认为的一个分水岭啊,就是一个,也算一个呃即将到来的一个节点吧。因为我们公司呢,呃即将推出一套 呃,除了图表交易指令和 ai 数字交易指令之外的一个新的一套交易指令,那么它的 他的这个基础呢?实际上,呃可以认为借鉴呢?这个图表交易指令的这个跨周期的这部分,呃功能,但是把这部分做的 更加异于使用啊。呃,公司也对这个专专门做了一些开发啊,做了一些,嗯,花了还花了不少精力来做这个事情,他的优点是功能应该也足够强大。就是,呃,因为图表交易指令是这样的啊,图表交易指令功能够用 好实现,就是你写写代,写代码简单,可以回测,可以优化性能,效率比比较高啊,性能教育效率比较高啊,就他基本上是一个比较均衡的一个状态,但他的缺点就是信号闪烁 对编程限制比较大,就像我刚刚说的,实时的时候你可以处理很多东西,但是你到到历史就不能用了,到历史回溯就不能用,所以这个你就要考虑,就是这个信号闪烁可能带来就是你在策略实现上面你会有一些 不得不做一些让步啊。还有一个就是实时交互的能力比较弱,本身他交互能力并不弱,但是你实现了也没用,是吧?一旦回到历史,你就这些东西都都用不上,所以就没办法更好的来利用这个实时交互的能力。 这是图标函数的这个缺点啊。优缺点?那 a a 函数的优点呢?是功能、性能都是都是杠杠的啊,都是最强的,那么策略实现能力也强,就什么样的你各种各样的,是吧?要做个性化的处理,理论上 a a 函数应该都能做啊,只是工作量的 大小的问题。还有一个就实时交互比较方便,他可以读账户,读这个橱窗是吧?读什么数据库读什么都可以啊,你要你要读基础数据,他想读什么都可以读,因为因为他就是实时处理的,对吧?他不存在历史回车的问题, 当然他的缺点也很明显,不可回测,不可做优化,是吧?而且编写复杂,呃,调试也很困难啊,这是呃图表交易指令和 a 函数交易指令的各自的优缺点。那我们即将推出的这套交易指令呢?它的功能足够强大,应该说它的功能应该比 比图表还要强一点,比 a 函数可能稍微弱一点,是吧?策略实现也同样容易,而且甚至比这个图表还要容易。 另外他的交互能力也比较强,因为他可以通过,他实际上是利用了我们这个刚刚演示的图标 策略的这个跨周期的这一块,只不过他的跨周期他不需要你专门去跨周期,他相当于内置了一个一个基础周期的一个运行机制啊,所以专门为这个呢,把这个机制改了一改,所以这个他应该交互能力也是比 本身的图标交易指定要强的,而且关键的一点,新手上手比较容易,甚至可以说特别容易啊。当然这个因为这个版本还没有推出,那我们现在也是内部在测试,所以呢,嗯,而且这个整个这一套呢,他的 它的性能效率比是最高的,因为它性能很强,所以效率又很高,又不像 a 函数这么复杂啊。 a 函数是非常复杂的,所以不到万不得已,我一般也不愿意用 a 函数去写啊,除非是没办法啊,图表实在实现不了啊。 那实际上呢?有些图表利用这个,刚才我像类似我刚才的秒图做一些实时交易,他也能实现类似 a 函数的功能。那如果是这样的,我都建议用图表来做,不用 a 函数来做啊, a 函数还是还是工作量比较大的,还是比较复杂的啊。那今天呢,所以我说为什么是一个分水岭呢?因为 这这套东西本来是应该在培训教程的最开始就要讲,但是因为我们软件的更新说实话也是比较频繁的,所以其实矿的三的 这个培训视频和培训教程我们就有点缺失。当然了,这个大部分的原理,框的三和框的是实际上是相同的,只不过是界面有点不一样,所以如果在框的三的界面上再重新录一遍呢?这个效率其实我觉得也是不高的,只是 解决了客户一些看到这个界面好像不太对的这个问题啊,那当然有时间本来也是要把矿的三的这个教程是要是要准备啊,近期也是准备稍微梳理一下,整理整理,该该补的要补一补啊,那么但是呢,因为我们 不久的将来,我们公司就会推出这道新的交易指令体系啊,啊,只要交易指令系统,所以呢,我想后面的这个培训教程呢,可能会 以新的这个交易指令为主,然后矿的三的为辅,是吧,那么 a 函数只是不到万不得已,我们不建议大家去使用啊,是这么一个状态,所以我说今天,呃,先抛砖引玉,先把这个老的系统 各自的问题先扔出来,然后呢我们接下来后面呢推出新的这个交易系统之后呢,交易指令之后呢,我们会详细的介绍这个新的指令,它到底有什么这个 优点啊,这这些我们说的这些优点他到底怎么体现的是吧?那是接下来后面这套系统推出之啊,这套指定推出之后呢,我们重点要给大家介绍的啊, 那么这个就是我们今天那个课程的主要想跟大家探讨啊和剖析的啊东西。呃,感谢大家的收看,然后这个呢是我的 呃,企业微信二维码啊,如果大家有什么问题呢,可以扫码加我,然后有什么问题的可以给我留言啊,我会在第一时间啊,只要是有空我都会回复大家。好,那我们这个今天的内容就到这里啊,感谢大家收看。

呃,大家好,我们今天讲一下量化交易开发 qmt 片,然后用的是迷你 qmt 和叉 dqant, 大家看我桌面, 嗯,主要包含,第一开户,第二技术选型,然后你是用 qm t 还是用批退的,第三是测试环境和生产环境的搭建,第四是数据转为,第五是,第五是开发环境的搭建, 第六是依赖包的安装。嗯,量化策略开发,然后打磨性量化, 然后我们看开户这部分, 嗯,开户的方式有很多种,然后线下的方式效率比较低,然后大家可以在地图上查附近的券商,然后打电话让客户经理去加你的微信,然后把下面的问题给到他就可以了。 然后你问他你股票和 etf 的 手续费是多少,是否含规费,是否免五,然后包含下面这些问题,然后对做量化的来说,去问一下 qm t 和 pj 的 对资金的要求是多少,然后少的十万就可以, 嗯,是否支持 mini q m t, 然后你比如说,呃,你这个量化开发的没什么问题了,然后只想用它的 api 的 话,就可以问他,你只开通 api 的 话有什么要求? 嗯,还有就是这个新用户的权益有哪些,这个 level two 的 行情一定要跟他要。 然后我们看一下技术选项,嗯, qmt 的 策略是在本地运行的,然后 ptr 的是运行在服务器端,这就看你自己的选择了。 嗯,然后你如果对性能有要求的策略呢?放在 ptr 的 上面更快一些。我用的是 meqmt 加叉 t 框的,然后策略是用在本地,然后这样就会把 qmt 当一个通道来使用, 然后,嗯,叉 t 框的和 m t, 然后本地通信,然后起这么一个 r p c 的 服务就可以。 嗯,还有就是呃,测试环境和生产环境的搭建,然后券商肯定有两套环境嘛,然后你比如说你用国金的券商 q m t。 的 交易模拟端,这就对应他们的测试环境,然后大家可以先在测试环境去开发测试。 第四是数据准备, 嗯,数据准备这个地方提供一分钟的 k 线,五分钟的 k 线,日 k 线,这是基础 k 线,然后你可以去合成你的 k 线, 然后一一分钟可以合成两分钟、三分钟的,然后五分钟的 k 线,你可以合成十五分钟、三十分钟、六十分钟的 k 线,日 k 线可以合成周线、月线和年限,然后去根据你的需求去下这些 k 线, 我一般都会去下这个五分钟的和二十 k 线。再就是在大 q m t。 里面下载的 k 线数据呢,也可以给 meq m t。 使用,这样就不用再去重复下载了,然后这样只需要这样去设置一下它的数据访问路径, 然后数据这个地方是特别重要,如果你数据不准确,后面的一切计算都是错的。然后对,尤其对大模型也是这样的,就是模型结构线都是公开的,但是没有看到哪家把数据公开。呃,给大家演示一下。 嗯,启动它, 这是个模拟端,就相当于它的测试环境。 呃,这个地方你如果选勾选中独立交易启动的这个地方启动的就是迷你 q m t, 你 如果不选,它启动的就是大 q m t。 呃,进来之后,你比如说你有些数据可以下 在这地方操作数据管理去补充你的,勾上它,上海的和深圳的。 嗯,这个地方你可以去去选你要五分钟线还是用日线这个地方,然后去点补充,它就会去把最近你想要的那些 k 线给下到。 嗯,然后开发环境搭建这个地方呢? 哎,企业级开发呢,我推荐大家用 wsl 去打这个开开发环境,然后这样尽量去接近生产环境,然后 qmt 这个地方呢?还是用的 windows 加 com 的 这加 ide 这种方式 啊,依赖包的安装,嗯,你可以去访问讯头的知识库,这是他的地址,去下这个叉 t 框的包,然后去安装到康达所对应的三方包目录下面去。 然后你比如说你用到一些技术指标的计算的话,你用 t i t l 包的话,去从这个地方下去下载康达环境所对应的 vivo 包去安装。 嗯,再就是量化策略的开发,用大模型开发。量化策略,呃 呃,你用官方的平台去开发,跟他直接用 deepsea 和千万,这的区别就是,呃,官方的 qmt 挂载了自己的知识库,嗯,比 deepsea 和千万更好一些, 它现在只是好多只是开放了 a p i, 不 如多放几个戴帽的案例 啊。趋势,你比如说我们在开发趋势跟踪策略的时候,我们选趋势向上的市值大于两百亿的票计算市值的 a p i 的 话,呃, 你去需要去下获取他的股本数,然后自己去算他的市值,是这样的,这段代码就是去拿他的股本,然后去计算他的市值。 呃,再就是比如说你做一进二,二进三,然后,呃去计算集合定价是否符合预期。这个地方没有 k 线可以用,需要你去定一个 tik 数据,然后,呃, 然后集合竞价的 take 数据,没必要去下所有的,我这取了一部分时间段的,嗯,去去下它的 take 数据,然后去去去计算,取它最后一根 k 线数据, 然后看集合定价是否符合预期。嗯,再就是油字点火的量化的话,也需要去订阅他的 tik 数据。去去那个机做,在回调里面去做计算。 看这个,嗯,方法都写在回调里面, 然后这个地方有,嗯,用大模型去做量化,币圈里面有个大模型的量化项目,大家看一下,这是之前截的一个图,然后 deepsea 跟铅汞表现的还都不错。嗯, 美股里面也有一个量化项目,然后这个地方 deepsea 表现也不错,但铅汞这个地方表现的不好。 然后我现在要开发一个 a 股的大模型量化项目,其中交易部分呢,就是基于大模型加迷你 q m g 去实现的啊,整体产品思路跟他们不太一样, 但是交易的实现部分基本相同啊。好了,我们今天就讲这些,好,谢谢大家。

量化策略赚钱了,要如何防止被偷?怎么样去保护好你的核心量化策略技术?我保证,如果你想要保护你核心的量化技术,防止别人偷看你的策略,这是一条可以帮助到你的视频。 有没有想过一个问题,我们攸写很多策略,很多代码其实都是直接存在别人的平台服务器上的,说实话,之前我就有过这个顾虑,那有哪些方法可以保证你的策略不被偷走呢? 第一,本地开发环境隔离,让你的策略开发回测完全离线,在本地的计算机上或者是加密的虚拟机中进行。你的设备可以不连接互联网,仅供策略的核心人员使用,但是大多数的交易员都是使用第三方平台,投研效率会更高,那么你就一定要试试。第二种投币方法 就是 s o 格式的加密上传,潘德埃的最新功能就支持 s o 格式的加密上传 s o 格式的文件就是把你的代码翻译成一堆乱码,其他的人一打开两眼一黑,但机器能够读懂并且完美的执行, 它就像是给你的策略打上了马赛克,一招就能够让你的策略变黑箱,而操作起来也特别的简单。第一步,本地翻译。把你的策略代码在本地翻译成一个 s o 文件,你可以用豆包或者是 kimi 搜索如何将 python 文件翻译成 s o 文件,它会立刻给你一套详细的教程, 照着做就行,会写 python 的 都一定能够搞定。第二步,上传文件翻译好后,回到 python ai 平台, ai 工作流的专家模式, 点击 upload file, 直接上传你的 s o 文件。第三步,在你的代码里可以 input 的 调用。如果想要在平台安心写策略,一定要试试这个新功能,如果怕记不住,可以点赞收藏转发你的量化搭子,一起试试。


大家好,欢迎来到量化交易进阶系列课程。今天我们要探讨的是一个在深度强化学习 deep reinforcement learning 领域极具挑战性的工程难题,如何破解连续动作空间中的急值陷阱。 在实际建模中,许多算法在连续动作空间下会表现出一种非黑即白的特征,即所谓的扳扳 control。 震荡模型倾向于在最大买入和最大卖出之间剧烈切换, 而不是平滑地调整仓位,这会导致巨大的换手成本直接侵蚀策略的 shaper 手。请大家注意这里的可式化图示,这种不稳定的极值跳变正是模型在不确定性环境下过度冒险的表现。解决它的关键在于动作空间 action space 的 精细化设计与奖励函数 reward function 的 正则化。本课的实战大纲将带大家从底层逻辑出发,研究动作空间设计对策略稳健性的决定性影响, 并引入风险溢价 risk premium 等金融工程概念来重构奖励函数,让智能体在追求收益的同时学会节制。作为连续空间优化方案的开篇,我们不仅要让模型学会交易,更要让它学会优雅的交易。现在 让我们正式进入第一部分,深入探索抑制市场下的动作映射逻辑。 承接刚才的讨论,我们要深入探讨抑制市场中动作空间 action space 的 映射差异。理解这一点是构建高性能量化智能体的基石。虽然算法框架可能通用, 但针对不同金融工具的翻译逻辑却大相径庭。首先看股票市场,在这里我们面临最显著的特征是长边交易偏好 long only bias 受限于卖空成本和监管规则,模型往往被约束在买入并持有的逻辑中。同时,换手率 turnover 是 一个极其敏感的指标,频繁地离散映射或大幅度仓位变动会产生巨额佣金, 这要求我们在设计动作空间时必须考虑平滑性。而转向期货与外汇等衍生品市场时,情况则更加对称。这里天然支持双向等权杠杆,且由于实行保证金交易制度, 模型对资金的利用效率会更高,动作空间的设计也因此变得更加连续且激进。大家看这个常见的公式。 在连续空间映射中,我们通常将模型输出定义在负一到正一之间,其中负一代表全仓做空,正一代表全仓做多,零则代表空仓。 这种皈依化的映射方式能够让深度强化学习模型在统一的尺度下进行探索与利用。 通过这张对比表,我们可以清晰地看到不同市场下动作为度的物理含义。在建模时,你需要明确输出的是目标仓位还是仓位变化量。这种选择会直接影响到模型对市场反馈的敏感度, 也是许多初学者容易忽视的工程细节。最后,请务必关注底部的这行注角。市场的流动性深度 liquidity depths 实际上规定了动作不长 step size 的 物理上限, 如果模型试图在流动性匮乏时执行巨大的订单,滑点成本会瞬间吞食预期的 alpha。 理解了这些映射逻辑后,下一步我们就来看看当模型在这些空间中寻找最优解时,为什么会掉进极值震荡的陷阱。 理解了动作应设的物理上线后,我们不得不面对一个实战中极度棘手的问题,极值震荡。明明我们希望模型能够细腻的控制仓位, 但它往往会陷入某种非黑即白的极端。接下来,我们从数学机理和逻辑漏洞两个维度来剖析为什么模型会产生这种事与愿违的表现。 首先来看数学层面。在深度强化学习中,为了将动作限制在合理区间,我们通常在输出层使用 touch 激活函数。请注意这个公式。当神经网络的原始输出 z 稍微大一点时,激活后的动作 a 就 会迅速逼进正负一的边界, 这会导致严重的梯度饱和现象。在边界处,碳值的导数几乎为零,这意味着策略在边界发生了瘫痪,模型失去了对连续控制精度的掌控,他不再是灵活的交易员,而更像是一个只有开闭两档的开关。 除了激活函数的郭,强化学习自身的逻辑漏洞也是诱因。我们来看 q 值估计的问题。如果我们的奖励函数 reward function 被设计成纯收益导向,模型就会疯狂追求高回报。 由于缺乏类似下扑比例 sharper ratio 这种对风险和回车的惩罚, q 直过估计会诱导模型采取极度冒险的动作,他会错误地认为全仓买入或全仓卖出就是通往最优解的捷径,从而忽视了市场波动带来的潜在威胁。 大家请看这张动作分布图。在理想状态下,动作分布应该是平滑的,但实验观察到的结果却是这种典型的 u 型分布,两端高,中间低。 这就是自动化控制领域常说的砰砰控制 bam bam control 效应。这种效应在交易中是致命的, 因为它意味着模型在不断进行满仓反手操作,产生了巨大的交易成本和滑点。那么我们该如何修正这种激进的行为,让输出重新回归理性呢?我们稍后在动作正则化章节详细讨论。 接续刚才讨论的极值震荡与过度交易问题,我们现在进入核心解决方案, 动作正则化。在量化交易中,如果不对模型的输出端进行约束,智能体很容易变成一个赌徒。我们需要通过数学手段强制让他的动作逻辑回归平滑与理性。 首先是动作变化率乘法,也就是 smoothness, 请看这个公式。我们通过对连续两个时间步的动作差值施加权重惩罚,能有效抑制模型频繁换仓的冲动。 这在实战中非常关键,因为频繁的动作巨变不仅意味着巨大的风险场口,更会产生高昂的交易摩擦和滑点支出。 其次,我们在 action 输出层引入 l 二正则化。正如公式所示,它倾向于让模型探索更稳健的中间仓位,而不是总是游走在负一或一的极端边缘。 这种策略鼓励模型在信号不够明确时保持低杠杆或空舱,提高了整体策略的鲁棒性。 最后,这也是最具工程实战价值的一点,建议使用贝塔分布来替代传统的高斯分布。 在受限的动作空间里,高斯分布在边界处的截断会导致严重的梯度消失问题。大家看右侧的对比图, 正则化后的稳健分布能更自然地覆盖目标区间。通过 beta 分 布,我们可以有效避免 ben ben control, 也就是那种非黑即白的激进控制逻辑, 从而让智能体在复杂市场中学会细水长流。总结一下,通过这三种物理手段,我们强制让智能体的行为变得平滑。那么在实际工程中,我们又该如何给交易成本建模呢?我们继续往下看。 刚才我们讨论了物理层面的平滑处理,现在让我们进入工程实战的核心, 如何通过数学建模,让智能体在训练阶段就感知到现实市场的阻力,也就是交易成本与滑点的处理。 首先是动态换手成本。在量化实战中,调仓动作并不是免费的。我们看这个公式, ct 代表交易代价,它与动作向量的绝对值变化成比例。这不仅模拟了现实中的佣金和印花税, 更深层的意义在于,它在数学上对 action space 的 平滑度进行了应约束,惩罚那些无意义的微小调仓,让模型学会珍惜交易机会。接下来是市场冲击,也就是滑点 slippy。 在 流动性有限的情况下,大额订单会推高买入价或压低卖出价。我们将这种流动性瓶颈内升化到 reward 方式中。 当模型尝试在流动性不足时进行大额操作,其获得的奖励会大幅衰减。通过这种反馈,智能体能自发地根据市场深度调整下单量。 最后,为了防止智能体因为害怕交易成本而变得过于保守,陷入局部最优,我们必须引入探索保护机制, 这就是策略商政策化 entropy regularization。 通过在损失函数中增加商相,我们鼓励模型在训练初期保持多样化,这能有效防止模型过早收敛,确保它在复杂的搜索空间中找到更稳健的全局结, 这种避险意识与探索精神的平衡才是实战模型的关键。那么第五,将这些模块整合,构建出一个最终的鲁棒交易智能体呢?我们来看最后一页。 好,我们进入本次课程的总结阶段。刚才我们详细讨论了如何通过政策化 regulation 手段抑制模型的冒险行为。现在让我们把这些拼图整合起来, 系统的梳理。如何构建一个鲁棒的量化交易智能体? robust quantitative trading agent 首先是动作空间 action space 的 设计,这是我们今天反复强调的重点。 动作必须具备清晰的物理含义,不能只是一个抽象的概率分布。通过将约束条件显性化,我们能有效规避之前提到的极值震荡问题,在离散与连续动作之间找到最适合当前交易逻辑的权衡点。 接着看奖励函数 reward function 的 平衡。正如公式所示,我们的核心目标是收益,但必须通过惩罚权重来对冲风险,并扣除我们在第五部分讨论过的交易成本。请记住这个准则, 收益是目标,风险是权重,而成本是绝对的约束。忽视其中任何一项模型在实盘中都会面临崩溃。 对于想要进一步进阶的同学,我建议大家关注这三个方向,从单一标地转向投资组合向量空间 portfolio vector space 的 建模、尝试多因子特征融合,以及探索分层强化学习 hierarchical r l 架构来处理更复杂的交易周期。 总的来说,构建智能体不仅是算法的堆砌,更是对市场逻辑的深度还原。大家在课后可以尝试调整我们之前提到的政策化系数,观察它如何改变模型的风险偏好。 今天的课程到这里就全部结束了,从破解急值陷阱到实战成本建模,我们共同走过了量化交易中最核心的工程路径。量化之路没有终点, 希望大家在未来的实盘探索中始终保持理性与对市场的敬畏。感谢大家的参与,同学们辛苦了,再见!

主力资金出逃的那一天,第二天股价会跌吗?我用 ai 分 析了近七万条真实数据,答案颠覆了你的直觉。跟我来看,首先打开 codebody, 在 对话框输入,帮我安装 bigqant 数据 sdk, 为了快速可以将文档链接也一并复制给它, codebody 自动完成安装和认证,不用自己配环境,三十秒搞定,直接开始分析, 告诉 cobuddy 我 的分析内容,分析主力资金流出后次日的涨跌情况。接下来, cobuddy 用 big quant 的 c n stockstock money overflow 数据表分析二零二六年五月以来所有主力资金净流出日总样本近七万条,记录结果如下, 次日上涨概率仅百分之四十一点九六,次日下跌概率百分之五十六点一八,次日平均涨跌负百分之零点二六。核心结论,主力资金净流出后次日整体偏空,下跌概率超五乘六。我们进一步按流出金额分组,结论出乎意料, 小额流出次日上涨仅百分之三十八,跌最惨。中等流出上涨概率约百分之四十二, 超大额流出次日上涨概率高达百分之四十六。平均涨跌转正相关系数是正的,流出金额越大,次日反而越容易反弹。为什么大额流出往往是恐慌性抛售,短期过度卖出后容易技术性反弹, 而小额持续流出才是主力有序撤退的信号。基于以上分析,我用 coldbody 生成了一套完整策略,选股主力净流出加市值大于一百亿,加市盈率小于二十,按流出金额排序 等全池前十。每日调仓回测结果,累计收益负百分之五点一一跑书机准百分之三点一九, 这说明什么?单一资金流信号还不够,需要叠加大盘趋势和更多基本面,过滤策略还在迭代,这才是量化的魅力。用数据说话,持续优化,所有数据都来自于 bigqant, 基于真实行情最新数据的分析。

上期我们知道了系统会给我们分配仓位,有做多和做空两种。那问题来了,几千只股票,系统凭什么决定哪些要做多,哪些要做空呢?这个时候就有一个叫 rank 的 函数,给所有的股票排名打分, 你可以把市场想象成是一个班级,三千只股票就是三千个学生, rank 干的事情只有一个,就是给他们排成绩,成绩最好的给一百分, 成绩最差的给零分,中间依次排序,这样平台他就知道了该重点买谁,重点卖谁。其实量化他不是预测股价,而是在给股票排队,谁站在前面,谁获得更多的资金。我是瓜哥。