- 量化因子投资无非关注两个问题:什么样的因子有效,以及有效的因子何时变得无效。
- 之前我总是想着用最先进的模型来挖掘最有效的因子(强化学习,大语言模型等等),这正是学术界乐此不疲做的事情。后来发现我似乎搞错了重点。学术界这么做,因为这些看上去很fancy的模型可以发论文。如果一个模型、能够产生有效的因子,但是看上去太普通,是发不了论文的。
- 我目前采取的做法是用一个不那么fancy的模型,产生大量差不多的因子(可能几百上千个)然后从中选择10-20个左右的因子。把重点放在因子的有效选择上。然后每隔一段时间比如一个月,重新产生大量因子。再选择。
- 这样做的有好几个好处:10-20个因子的组合,相...
作者文章归档:xinyi
量化因子挖掘工具集
我将自己用的因子挖掘部分的代码打包到了一个系统中,主要功能包括: 1. 因子分析(alphalens) 2. 因子回测 (backtrader) 3. 因子挖掘 (支持进化算法和强化学习,强化学习部分算法基于最新的学术论文,并加入了自己的改进) 4. 大模型(deepseek)辅助因子生成 5. 支持QMT数据和Baostock数据,并且可以对接QMT实盘
感兴趣的欢迎咨询微信xding59 或者 dxywill@126.com
声明:量化从来都不是购买一个软件,然后一劳永逸。你需要了解因子何时失效,何时更新,风险控制等等。

vnpy期货多品种日间代码模板
关于vnpy的日内单品种策略(CtaStrategy模块),vnpy自带的strategies 文件夹里面有很多可以参考。但是涉及多品种、日间的交易的策略,同时又要求高度的灵活性,就需要使用脚本策略交易模块ScriptTrader,这方面的代码网上相对比较难找。
CtaStrategy模块的策略大部分是靠tick驱动,或者bar驱动。但是有些策略(如使用ScriptTrader模块的策略),或者是日间的策略,就必须显示地指定代码在什么时候运行。这个时候一种选择是利用Python中的schedule模块,来指定在早上9点的时候运行。
以下是一个多品种的日间的截面动量策略模板,供大家参考。
...QMT实盘一年感悟
利用QMT实盘一年多了,虽然没亏钱,但是也没怎么赚钱。最大的遗憾是我本来可以赚一些钱,最大的感悟是深刻体会了杰西利弗莫尔说的“最赚钱的时候,是我坐着不动的时候”。几点体会吧。
-
心态很重要。以前读各种投资书籍,大师们都会提到心态。以前我都是不屑一顾。现在才体会到良好的心态有多重要。过去这一年我至少切换了三次策略。眼看策略下跌,就开始怀疑是不是失效了?切换完之后,原来的策略又回调了。能坐着不动,真的需要巨好的心理素质。
-
对收益率要有一个合理的预期。那种年化50%以上,回撤又很小的,基本上是过拟合。年化和最大回撤,很多情况下你只能选一个。在尝试多种策略之后,我发现能做到年化20%+,最...
实盘量化QMT踩坑记录(四)
这几天把回测代码改成了实盘,发现还是有几个区别的。同样的策略,聚宽选出来的股票和QMT选出来的股票存在较大的差异,5只里面有4只不一样。由于对QMT的回测功能和数据质量存疑。干脆用聚宽的模拟盘将信号写入云数据库,然后QMT只负责读取选股结果。
1.如果你采用handle_bar 的形式,那么需要加上下面的代码
#跳过历史k线
if not C.is_last_bar():
return
如果不加这段代码,那么就算是实盘,他会从历史K线开始运行。
2.实盘可以通过如下代码设置账号
g.acct = account
ContextInfo....实盘量化QMT踩坑记录(三)
实盘量化QMT踩坑记录(二)
最近有时间把一些聚宽上面的策略重现成QMT代码。主要是增加了一些择时(如RSRS择时),还有一些因子选择方面的内容。总结起来,基本上熟悉以下几个函数就差不多了。
-
get_trade_detail_data(),主要用该函数获得账户信息(如可用资金)和持仓信息。这里有别于聚宽代码,聚宽是通过访问context全局变量里面的portfolio对象获得相关信息。
-
get_market_data_ex(),获得股票对应的价格信息,对应于聚宽里面的get_price(),history() 和attribute_history()函数。
-
get_financial_data(), 获得...
多因子投资的几点注意事项
因子投资主要可以分为排序法和多元回归。排序法相对简单,单因子的话,按因子值从高到低或者从低到高排序,然后取前几只股票即可。多个因子的话,需要用到多重排序,可以进一步分为条件多重排序和独立多重排序。条件多重排序先按照某个因子排序,过滤,然后针对剩下的股票再进行过滤,然后取前几只股票。排序法由于其简单易用得到了广泛的使用。
多因子投资的另一种方法是多元回归。这里我再插个题外话,不要迷信机器学习、深度神经网络。首先,你可能没有足够的数据来训练深度神经网络(现实情况往往如此),因此陷入过拟合的风险。一个大致的判断训练数据是否足够的办法是看你的训练数据是否是满足你模型参数的5-10倍。其次,深度神...
实盘量化QMT踩坑记录(一)
聚宽马上要关停其实盘量化接口,我虽然没有用聚宽的实盘,但却是其回测和研究环境的重度用户。由于我目前的策略换仓频率不是很频繁,所以我都是先在聚宽研究环境里面跑,然后手动下单。虽然聚宽实盘关停对我影响不大,但是觉得万一哪天回测,研究环境啥的也给砍了咋办。所以还是得提前想好对策。
目前市面上比较主流的可以支持个人用户做量化的系统就是QMT和Ptrade,QMT所有数据和策略保存在本地,运行策略的时候需要电脑保持实时开机状态。Ptrade在云端运行,需要上传策略。QMT更加面向机构和专业投资者,两者的区别不再赘述,感兴趣的朋友可以自己查找相关资料。目前QMT和Ptrade的开户门槛都有所下降。 ...
永久性投资组合之二(哈利·布朗)
相对于上一篇桥水全天候策略中利用一致性风险衡量指标ES来决定仓位的大小,哈利·布朗的永久性策略更加简单,提出分别在 4 种大类资产——股票、债券、现金、黄金上配置 25 % 的个人资产。然后每个几个月(或一个月调整一下)。 我们来看一下过去10年的一个回测效果:

可以看到都按照25%的比例分配,其效果是不如桥水的全天候策略的(无论是年化还是最大回撤)。但其最显著的优点就是简单,特别适合于懒人,在稍后的代码中也可以看出这一点。我们还可以把沪深300换成纳斯达克指数。其回测结果如下所示:

可以看到不但年化增加了,最大回撤也有所下降。
最后附上代码:
# 导入函数库
from jqda...