Skip to content

Releases: HaoningChen/scutquant

scutquant

27 Dec 05:32
66dd8b1
Compare
Choose a tag to compare

修正了回测时关于交易的一些逻辑,现在的逻辑是:得到predict后,根据策略自身去构造组合,然后得到order后并不是根据cash去下单,而是根据账户净值下单,如果当前的cash无法完成订单才对buy按比例减小

同时,对策略进行了一些修改,以前标志性的auto_offset不再建议使用了(减少人为对模型的干预),但该功能仍未被移除

修正后持仓基本等于risk_degree,因而收益会有一个比较大的提升(可以理解为运营效率提高了)

scutquant

15 Dec 09:25
249f5cb
Compare
Choose a tag to compare

解决了v0.6.0回测时将投资组合由等权改为加权而产生的一些bug,并且修改了原来交易逻辑中存在的问题(例如auto_offset),解决了一直以来turnover显示不正确的bug

本质上还是继续对大三时写的代码动刀。哪怕仅仅过了一年我对交易逻辑和代码风格的理解也不可同日而语,不知某些几十年没写过代码靠吃老本的教授是如何厚得起脸皮在学生面前当小丑的

scutquant

14 Dec 10:30
cbeac10
Compare
Choose a tag to compare

大改了主要是大三时写的一些代码,主要有:

  • 删除了scutquant模块的时间序列分析部分,因为对于一个具有多重索引[("datetime", "instrument")]的Series而言,report模块的single_factor_ana能够更简洁优雅地提供更多有效信息;
  • 重写了scutquant模块的auto_process函数,现在它只支持具有多重索引的输入,但是对数据的处理则更加规范和科学;
  • scutquant模块中的标准化函数由operators模块的对应函数代替;
  • signal_generator模块增加处理预测值的功能,将模型预测值先做市场中性化,然后用get_trade_volume函数获得交易信息,最后将处理过后的dataframe扔给策略筛选数据,得到最后的order;
  • strategy模块仅保留了TopKStrategy,因为当数据已经做了市场中性化后,原来那些策略已经失去了经济意义;
  • 删除了Pipeline和generate_yaml模块,因为基本不会被用到,而且有些意义不明

总体而言,这次的改动使得整个库向着更加专业化(偏量化)的方向发展,而且耦合度也一定程度上提高了(operators和report.single_factor_ana会在很多功能中用到,而回测的executor也不再与signal_generator彼此独立)。虽然大三刚开源的时候我对它的定位是低学习成本的,竞赛,科研和量化研究都通用的低耦合的库,然而当我不再以一个学生的身份来审视代码的时候,我对功能的追求和对这个库的意义的理解都有了些微妙的改变。

scutquant

02 Dec 15:10
871b1da
Compare
Choose a tag to compare

修正了一些bug(主要是alpha.get_factor_metrics的计算bug),简化了operatros.neutralize的代码

scutquant

27 Oct 15:34
183c5dc
Compare
Choose a tag to compare

data模块从依赖akshare变成依赖tushare, 因为akshare无法获取不在网页上的数据, 所以会造成很多数据质量问题
data模块增加了计算复权因子的功能, 目前只实现了后复权
alpha模块增加了get_factor_metrics函数, 可以快速地对单因子获取相应指标

scutquant

19 Sep 03:30
a3a1f02
Compare
Choose a tag to compare

修改了requirements.txt, 将~=换成>=;
大幅加速了alpha模块的qlib158函数的计算;
增加了若干operators;
report模块增加了因子可视化功能(single_factor_ana)

scutquant

24 Aug 15:46
52f85f1
Compare
Choose a tag to compare

移除了原来alpha模块的make_factors和alpha360, 分别改为qlib158和qlib360(顾名思义, 分别复现了qlib的alpha158和alpha360). 以后alpha模块更多地把重心放在因子本身上, 而具体的计算交给新增的operators模块

scutquant

29 Jul 15:08
f4d5376
Compare
Choose a tag to compare

修正了report的一些bug, 并且在alpha模块中增加了组合中性化和计算单因子portfolio的功能

scutquant

30 May 04:12
4ec8399
Compare
Choose a tag to compare

对之前的部分模块性能进行了提升,也新增了get_news_data模块

scutquant

17 Apr 14:09
30aa363
Compare
Choose a tag to compare

新加入了Pipeline模块, 仅需一行代码尽可完成量化研究;
新加入了来自金融工程的因子: DELTA, GAMMA和VEGA;
修正了report模块的年化收益率只能正确计算日频数据的问题;
data模块新增了一些函数