问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

量化策略本地化:从云端到本地的实践与优化

创作时间:
作者:
@小白创作中心

量化策略本地化:从云端到本地的实践与优化

引用
CSDN
1.
https://blog.csdn.net/zhuming8882000/article/details/138909815

量化交易是金融与计算机的结合,需要深厚的金融理论基础和编程技能。虽然编程只是一种工具,但其重要性不言而喻。然而,云端策略编写受限于硬件资源,因此将数据本地化处理显得尤为重要。

本地化主要涉及以下几个方面:

  • 数据本地化存储与每日更新(目前仅支持日频数据)
  • 因子计算公式化
  • 数据处理(包括空值处理、去极值和标准化)
  • 引用经典机器学习和深度学习模型
  • 本地策略回测与实盘模拟

因子作为量化交易的核心要素,直接决定了量化策略的质量。一个有效的因子可以与其他因子结合,创建复杂的模型,产生稳定且可观的超额收益。在量化策略开发中,可以通过公式和参数计算各种指标,如同花顺和通达信中的因子表达式。

以下是一些因子计算示例:

# 当天收盘价与20日内最低收盘价的比值
Factor1 = close_0 / ts_min(close_0, 20)

# 3日内最高价最大值与当日收盘价的比值
Factor2 = ts_max(high_0, 3) / close_0

# Alpha101中的经典因子
Alpha001 = (rank(correlation((high_0 + low_0 + close_0 + open_0) / 4, volume_0, 4)) *
            rank(correlation(rank(low_0), rank(mean(volume_0, 50)), 12)))

通过本地开发的因子计算引擎,可以快速计算因子。例如,计算2013年至2023年A股全部数据的三个因子耗时仅需1分4秒。在硬件配置为i9-14900K+128G内存的条件下,计算效率显著提升。

对于通达信和同花顺的指标公式,只需将其转换为表达式形式即可进行计算。例如,通达信的梅斯线指标可以表示为:

tdx_MAMASS = ta_sma(sum(ta_sma(high_0 - low_0, 9) / ta_sma(ta_sma(high_0 - low_0, 9), 9), 25), 6)

通过本地代码获取该指标:

from CTQuantPlatform import M

t = ['tdx_MAMASS=ta_sma(sum(ta_sma(high_0-low_0,9)/ta_sma(ta_sma(high_0-low_0,9),9), 25), 6)']
features_block = M.input_features(None, t)
xl_date_block = M.input_date('20130101', '20231231')
g_feature_block = M.general_feature_extractor(feature_list_input=features_block.get_data(), input_Date=xl_date_block.get_data(), shift_days=100)
d_feature_block = M.derived_feature_extractor(input_data=g_feature_block.get_data(), input_feature_list=features_block.get_data_1(), input_Date=xl_date_block.get_data())
d_feature_block.read()

计算11年的数据(9230337条记录)耗时约44秒,结果与通达信和同花顺一致。

因子计算完成后,可以通过代码进行分析、测试和验证。下图展示了针对同花顺概念板块的因子分析图表,采用经典的十分位分析法,将因子值分为十个分位,统计每个分位在一定时间范围内的累乘收益。结果显示,第一分位的收益明显优于其他分位,因此可以将其作为初步筛选的依据。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号