一文让你弄懂量化策略

量化策略到底是啥?如何运用?需要注意什么?

什么是量化策略?

通俗地说,量化策略选股与我们通常的买卖股票,其实,就如同中医和西医的区别,中医靠经验,讲究“望、闻、问、切、听”,西医靠指标,通过一系列的检查数据综合判断病情。量化投资无非就是用指标和公式驱动投资和交易。以淘宝卖家为例,卖家需要考虑安排今年双十一的客服配备和商品物流安排,如果卖家使用云计算对自己去年双十一的销售大数据进行了建模分析,发现“11:25至12:15,12:45—13:30”的时段交易最活跃,并因此倍增客服、预约物流,这就是量化策略投资。

所谓量化,就是把行为模式中的事件或信号数字化,通过一套固定的逻辑来分析,而不是单凭人的感觉或直觉进行判断和决策。

量化策略通常是自动执行的,但也是可以人工执行的,比如通过技术指标或财务指标选股其实也是一类量化策略,只是执行部分可能由人工完成。

传统的交易员通常是在看到某种图形化的技术形态后,就执行一些特定的交易,如果能把图形形态用一系列计算机程序能识别的数据来描述,让程序自动判断并决策是否要进行交易,并自动进行仓位的管理和风险控制动作,这样也就变成了量化策略。

通常来讲,一般所谓的量化策略是指整个交易过程完全实现为计算机程序,从数据接收、处理到交易执行都是由计算机程序自动完成。 为了开发这样的量化策略,预先需要收集一定量的数据,并在其基础上建立一套基于数字的处理决策模型,通常把这一过程叫做量化策略的研究;策略研究好后,就要实现它,让它跑起来。

量化策略究竟是什么样子的呢?

其实说白了,也没有什么神秘的,一个量化交易策略要完成的事情也就是如下这么点事:

从数据处理角度来看:

输入: 行情数据、基本面数据、数量化的新闻事件、成交回报等等

处理: 数据的加工、逻辑判断运算

输出: 交易订单

从信号处理角度来看:

输入信号:

行情数据是随机事件(tick)和短周期的时序事件(bar)

量化的新闻数据(news event)是偶然事件

基本面数据(fundamental financial data)是长周期的时序事件

信号反馈: 成交回报

信号处理: 信号的加工处理,包括变换、增强、过滤去噪、判别等

输出信号: 看涨还是看跌(多空交易信号,买还是卖)

思考: 现实中,通常模拟信号系统会比数字信号系统效果更好,但实现起来更复杂。

量化策略是不是也有类似的规律?

从建模的角度来看:

完成一个策略需要两大步骤,首先是策略研究;其次是策略的实现和改进。

假设前提:

历史会重复,规律就隐藏在数据中

行情发展是众多参与者行为共同作用的结果,人的金融行为集合是有迹可循的

建模过程: 准备数据> 清洗加工 > 挖掘 > 发现规律 > 提出模型假说 > 回溯检验

结果: 一个相对可靠的模型,并且在逻辑上是解释得通的;

模型只是研究的结果,还需要把模型用计算机程序实现出来,应用到未来的交易上,才真正变成一个策略:

抽取出模型的核心逻辑,找出需要的输入数据并接入、实现数据加工、判断处理的逻辑、正确地输出交易信号不断分析改进

从人工智能的角度来看:

量化策略就是一个能坚定地执行你的交易思路的智能机器人,它会替代你去时刻监视行情变化,完成烦琐的交易动作。
其他细节方面:

面对市场固有的不确定性,一些交易技巧其实也很重要

仓位管理

根据资金情况和行情决定每次的下单量,下单过程如何逐渐降低总体成本,增加赢的概率,比如买的时候降低仓位的VWAP, 根据行情走势的运动冲量决定仓位的调整。
 

风险管理

从策略层面讲,也就是止赢止损。

时刻记住风险的存在,如果你忘记了,市场会很快给你一个惨痛的教训来提醒你的,所以最好还是在市场老大出手前做点什么吧。

止损,策略是预先写好的程序,很难像人一样能够快速随机应变(虽然没有纪律的交易者经常没有太好的成绩),每笔交易必须有预先设置好的止损逻辑,也就是决定什么情况下该认输退出。

止赢,止赢其实也是一样的,逻辑也得预先设置好,确定什么时候该停止进攻以保住现有的胜利果实。

换个角度看,止赢就是另一种形式相对愉悦的止损,比如趋势跟随交易,一旦发现趋势不再继续了,也就是发现前一次的判断错误,就该纠正了,当然这时是有赢利的,所以说形式上相对愉悦。

在统计套利、或对冲类的策略 上,止赢就是走到模型预定的边界,需要结束这一次交易行动了,不要试图再去模型研究范围边界以外的未知领域探险。

如何运用

 1、量化选股

量化选股就是利用数量化的方法选择股票组合,期望该股票组合能够获得超越基准收益率的投资行为。量化选股策略总的来说可以分为两类:第一类是基本面选股,第二类是市场行为选股。基本面选股介绍了多因子模型、风格轮动模型和行业轮动模型。市场行为选股介绍了资金流模型、动量反转模型、一致预期模型、趋势追踪模型和筹码选股模型。

2、量化择时

量化择时就是利用数量化的方法,通过对各种宏观微观指标的量化分析,试图找到影响大盘走势的关键信息,并且对未来走势进行预测。如:趋势择时、市场情绪择时、有效资金模型、牛熊线、Hurst指数、SVM分类、SWARCH模型及异常指标模型。

 

推荐阅读:

1.一个量化策略师的自白(好文强烈推荐)

2.股票期货经典的量化交易策略都在这里了!(源码)

3.期货/股票数据大全查询(历史/实时/Tick/财务等)

4.三分钟弄明白为什么贝叶斯是量化工作者最常用的工具

5.学习Python有哪些书籍?这里有一份书单送给你

6.江湖中常说的“网格交易法”到底是什么?

7.10种经典的日内交易策略模型思路

8.干货 | 量化选股策略模型大全

9.量化金融经典理论、重要模型、发展简史大全

 

### 深度学习中模型的知识蒸馏与剪枝技术原理及应用 #### 知识蒸馏的技术原理及应用 知识蒸馏是一种有效的模型压缩策略,旨在将复杂的教师模型(teacher model)所蕴含的知识迁移到较为简单的学生模型(student model)。这种方法不仅能够保持较高的预测准确性,还能显著减小模型尺寸并提升运行效率。具体来说,在训练过程中,学生模型不仅要拟合原始数据集上的标签信息,还要尽可能模仿教师模型给出的概率分布,即所谓的“暗知识”或软标签[^1]。 为了实现这一点,通常会采用温度缩放机制调整softmax函数的输出,使得教师网络产生的概率分布更加平滑,便于学生更好地捕捉其特征表示能力。此外,还可以引入额外损失项来强化这种迁移过程的效果,比如基于中间层激活值的一致性约束等[^5]。 ```python import torch.nn.functional as F def knowledge_distillation_loss(student_logits, teacher_logits, temperature=2.0): soft_student = F.softmax(student_logits / temperature, dim=-1) soft_teacher = F.softmax(teacher_logits / temperature, dim=-1) loss_kd = F.kl_div( input=F.log_softmax(student_logits / temperature, dim=-1), target=F.softmax(teacher_logits / temperature, dim=-1), reduction='batchmean' ) * (temperature ** 2) return loss_kd ``` #### 剪枝的方法论及其应用场景 相比之下,剪枝则是另一种不同的模型简化手段,主要关注于移除那些对整体性能贡献较小甚至可以忽略不计的部分——通常是连接权值接近零的位置。通过对神经元间联系强度进行评估筛选,并逐步去除冗余组件,最终得到一个更为紧凑高效的版本[^3]。 实际操作时,一般先完成一次完整的预训练阶段;接着依据设定的标准挑选出待修剪的目标节点/边;最后重新微调剩余结构直至满足预期指标为止。值得注意的是,尽管此法能在一定程度上缓解过拟合现象的发生几率,但也可能导致泛化能力下降等问题出现,因此需谨慎对待参数设置环节[^2]。 ```python from functools import partial import numpy as np def prune_weights(model, pruning_ratio=0.2): all_params = [] for name, param in model.named_parameters(): if 'weight' in name and not ('bn' in name or 'bias' in name): all_params.append((name, param.data.cpu().numpy())) flat_params = np.concatenate([p.flatten() for _, p in all_params]) threshold = np.percentile(abs(flat_params), q=(pruning_ratio*100)) with torch.no_grad(): for layer_name, weights in all_params: mask = abs(weights) >= threshold pruned_tensor = torch.from_numpy(mask.astype(int)).cuda() getattr(model, '.'.join(layer_name.split('.')[:-1]))._parameters[layer_name.split('.')[-1]].mul_(pruned_tensor) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值