张伟_作业
由bqz709ry创建,最终由bqz709ry 被浏览 2 用户
一、尝试用不同的大模型实现因子的挖掘:
目的测试国内的主流大模型,看哪个大模型的能力更适合挖掘因子
提示词:
user = """
日期为2022-01-01到2024-01-01
我想做一个流动性增强因子
"""
qwen_plus:
```json
{
"Thought": "为了构建流动性增强因子,首先需要获取基础数据,例如成交量(volume)和换手率(turn),这些指标能够反映股票的流动性水平。流动性增强因子可以通过分析成交量的时序平均水平来构建,这有助于识别股票在一段时间内的平均交易活跃程度。",
"Action": "get_data",
"Action_input": {
"feature_name": ["volume", "turn"],
"start_date": "2022-01-01",
"end_date": "2024-01-01"
}
}
m_avg(c_zscore((amount / volume)), 20) 的 IC 为 -0.0101, 因子累计收益为 0.154, 年化收益为 0.081, 夏普比例为 0.492, 年化波动率为 0.197, 最大回撤为 -0.207'
deepseek-v3:
```python
```json
{
"Thought": "为了构建流动性增强因子,我首先需要获取流动性相关的原始数据。流动性通常与成交量和成交额密切相关,因此我需要获取volume和amount数据作为基础。",
"Action": "get_data",
"Action_input": {
"feature_name": ["volume", "amount"],
"start_date": "2022-01-01",
"end_date": "2024-01-01"
}
}
c_zscore(c_pct_rank((turn * m_avg(volume, 20)))) 的 IC 为 -0.0316, 因子累计收益为 -0.045, 年化收益为 -0.024, 夏普比例为 -0.04, 年化波动率为 0.186, 最大回撤为 -0.259'
Kimi:
```json
{
"Thought": "构建流动性增强因子,首先需提取核心流动性变量——换手率(turn),并计算其20日移动平均,以平滑短期波动,捕捉中期流动性趋势。换手率直接反映市场交易活跃度,是流动性最直接的代理变量。",
"Action": "get_data",
"Action_input": {
"feature_name": ["turn"],
"start_date": "2022-01-01",
"end_date": "2024-01-01"
}
}
c_zscore((c_zscore(m_avg(turn, 20)) + (m_stddev(turn, 20) * -1))) 的 IC 为 -0.0326, 因子累计收益为 0.22, 年化收益为 0.114, 夏普比例为 0.577, 年化波动率为 0.234, 最大回撤为 -0.239'
分析结论:
qwen_plus 挖掘的因子收益尚可,但IC值不高。qwen_plus 因子实质上是计算的成交均价,已经偏离了流动性的属性
deepseek 挖掘的因子IC值及格,但是收益不高,可能是一个钟型因子。实质上是用换手率与成家量的20日均值相乘。
kimi 挖掘的因子IC及格,多头收益也不错,年化多头竟然可以到0.114.仔细研究其内部逻辑实现了换手率均值和标准差的组合,思路还是不错的。
最终结论:推荐kimi模型
二、使用Kimi模型挖掘因子
因子 c_zscore(m_stddev(amount, 20)) 的 IC 为 -0.0281, 因子累计收益为 -0.202, 年化收益为 -0.115, 夏普比例为 -0.568, 年化波动率为 0.185, 最大回撤为 -0.298。 这个因子效果尚可。
'因子 c_zscore((((close / m_avg(close, 20)) - 1) / m_stddev(close, 20))) 的 IC 为 -0.018, 因子累计收益为 -0.016, 年化收益为 -0.008, 夏普比例为 0.06, 年化波动率为 0.203, 最大回撤为 -0.232' 这个因子效果一般
\n