- 博客(108)
- 收藏
- 关注
原创 小波变换通俗理解
小波变换是一种时频分析方法,通过缩放和平移小波母函数来扫描信号,同时获取信号的频率特征和时间位置信息。与傅里叶变换只能分析频率成分不同,小波变换能定位信号变化的时刻和尺度。核心思想是:选择母小波作为模板,通过缩放(改变分析尺度)和平移(改变时间位置)来匹配信号局部特征。小波变换公式计算信号与小波模板的相似度,其中缩放因子前的系数用于保持能量不变。实际应用中常配合尺度函数分析信号的低频轮廓和小波函数分析高频细节。小波变换分为离散和连续两种形式,适用于不同场景。
2026-06-05 18:51:07
233
原创 @dataclass的作用
本文介绍了Python中两个常用装饰器@dataclass和@classmethod的用法。@dataclass能自动生成__init__、__repr__和__eq__等方法,简化数据类定义,避免重复代码。@classmethod则将方法绑定到类而非实例,第一个参数为cls,常用于创建替代构造器或操作类级别状态。两者都能使代码更简洁优雅,前者减少样板代码,后者提供更灵活的类初始化方式。通过学生类和Person类的示例,展示了使用装饰器前后的代码对比及其优势。
2026-01-11 23:18:12
390
原创 如何用python自己复现worldquant brain中的回测结果
本文介绍了在Python中复现WorldQuant Brain平台上alpha 101因子1和4的回测框架构建要点。重点分析了Brain平台的策略设置:使用TOP 3000高流动性股票(可用中证1000/2000替代);delay=1表示t日信号在t+1日开盘调仓;详细解释了market/sector/industry/subindustry四级中性化方法;说明了decay参数控制持仓权重线性衰减;以及TRUNCATION参数限制单股仓位风险。文章还探讨了不同调仓时点的实现差异,为自主构建量化回测系统提供了
2025-12-21 00:30:17
729
原创 量化研究员面试题型
指的是利用历史数据模拟交易策略的表现,以评估策略的有效性和风险。阐述对回测的理解,包括回测的重要性,回测流程中的关键步骤,以及如何避免回测陷阱。6)考虑幸存者偏差,使用包含退市和ST的股票数据进行回测,避免高估策略的收益率。4)使用多种回测方法,可以使用滚动回测、蒙特卡洛模拟等方法来评估策略的鲁棒性。1)验证策略逻辑,回测可以验证策略的逻辑是否正确,是否能产生预期的收益。2)评估风险:回测可以帮助评估策略的风险,例如最大回测,波动率等。3)优化参数,回测可以帮助优化策略的参数,提高策略的收益风险比;
2025-11-30 11:37:52
346
原创 量化交易中因子挖掘流程
一般在量化中,评估一个因子的可用性,一个通用标准是。IC,Information Coefficient,信息系数。IC越高,因子预测能力就越强。一般来说,为了过滤噪声,选择每个月计算一次IC值。用过去十年的数据进行计算,则可以得到120个IC值,最后可以得到。IR, Information Ratio,信息比率。IC>0.03 说明有信号IR >0.5 说明信号稳两者同时满足,说明可以进入多因子模型。
2025-11-17 22:46:15
673
原创 夏普比率和最大回撤公式推导及代码实现
假设已经得到每日的收益率序列,要计算年度夏普比率,共分为三步:1、设定好年化无风险利率,将日收益率序列-日无风险收益率序列=日超额收益率序列;2、计算日超额收益率序列的均值和标准差;3、年化夏普比率=日度夏普比率∗252∗252tushare是一个比较常用的开源数据平台,pro版本对于在校大学生是免费的。注意,tushare对于个股,ETF数据,指数数据的获取方式是不一样的。分别为,如果混用了,会返回空值。
2025-11-09 23:13:40
1175
原创 量化策略布林带解读
布林带是基于和进行计算的,核心逻辑是通过统计学原理界定价格的波动范围。布林带由三条线构成,和。其中,中轨线反映价格的平均趋势,上轨线与下轨线分别界定价格的波动边界。
2025-08-28 23:14:06
760
原创 量化因子RSI
RSI指标是通过计算14天内平均涨跌幅来衡量市场动量的技术分析工具。当RSI>70代表超买可能回调,<30则超卖可能反弹。其核心公式RSI=100-100/(1+RS)中,RS反映涨跌强度比。该指标巧妙结合价格变动幅度与速度(动量),当短期出现剧烈波动时,即使长期均值不高也会导致RSI异常。这种"后视镜"统计之所以能预测未来,是因为它捕捉了市场心理——极端波动往往引发反向修正。
2025-08-14 21:42:39
738
原创 量化面试:资本资产定价CAMP和Fama-French三因子模型
摘要 本文主要介绍了金融量化研究中的两个关键概念:效用模型和CAMP模型。效用函数用于衡量财富带来的满足感,具有"钱多比钱少好"和"边际效用递减"两个基本特性。作者通过对比普通人与巴菲特的财富差异,形象说明了效用函数的非线性特征。文章还提及了Fama-French模型,但未展开详细内容。这些理论模型为量化投资分析提供了重要的理论基础,更多相关内容可关注"风哥笔记"公众号获取。
2025-07-31 22:00:21
155
原创 如何选择适合自己的LLM
网址如上所示,我们可以进入一个LLM公开排行榜。页面如下图所示按照排名先后,将LLM按照顺序进行排列。右侧的Average是在各个任务上的平均表现。右侧IFEval等是常见的用来评估LLM性能的一些任务。
2025-05-05 11:59:11
860
原创 量化交易学位论文阅读笔记
传统的股票分析方法技术面分析:通过历史图表对市场价格的运动进行分析基本盘面分析:通过对决定股票内在价值和影响股票价格的宏观经济形势、行业状况、公司经营状况等进行分析传统的股票分析方法主要依赖于投资者的个人分析能力。第三方服务接口:Yahoo财经Google财经同花顺Tushare,这是一个开源的python财经数据接口,提供对中国股市、债市、和基金市场的数据获取功能什么是复权复权是指调整股票价格和成交量,以反映公司行为例如分红、配股、拆骨等对股价影响的过程。
2025-01-04 18:39:58
105
原创 CAMP资本资产定价模型详解
CAMP模型是量化交易领域最为经典的模型之一,后续的线性模型如Fama-French等基本都可以找到CAMP模型的影子。
2024-12-18 15:59:07
278
原创 机器学习多因子任务预测代码详解
这里的速冻是指资产能够快速的转变为现金,或者说这些资产具有较高的流动性,可以在较短的时间内用于偿还债务。资产总额指公司所拥有的各项资产的总和,包括流动资产、固定资产、长期投资、无形资产和递延资产等。如果中途出现了新闻事件等因素,可能会先造成股价的波动,然后进一步影响基本面的详细参数,进而影响股价,使得股价重新回复到真实的情况中来。净利润指的是企业当期的税后利润,净资产是指企业的资产总额-负债以后的净额,及所有者权益。指数是由多只股票构成的,流动比例越高,说明企业资产的流动性越强,短期偿还债务的能力就越强。
2024-12-18 11:20:46
816
原创 量化交易之因子分析大全
在机器学习项目中,特征工程是非常重要的。在量化研究中也是如此。本文将量化研究中常用到的特征,也就是因子进行详细收纳,并给出推导公式和实现代码。
2024-12-15 23:00:56
2282
原创 股价是否可以被预测?
研究了一段时间量化交易之后,突然想到了这个最初的本质问题。股价到底是否可以被预测,如果可以被预测,那么为何那些亏钱的基金经理比比皆是。如果不可被预测,那么量化研究的目的在哪里?
2024-12-15 11:23:33
768
原创 量化交易常用基本概念
量化交易的本质是通过算法来分析策略,并不只是预测股价的涨跌,还包括买入和卖出,从而获取最大的收益。总收益=市场收益xBeta + 超额收益 x Alpha。为无风险收益率(银行固定存款理财等)为投资组合的收益率的标准差。通常回撤收益都是看年化。评估资金的抗风险能力。
2024-12-09 16:27:10
656
原创 为何经典滤波时需要添加汉明,汉宁等窗才可进行?
首先,我们知道,滤波方法可分为经典滤波和现代滤波。经典滤波包括低通、带通、高通滤波等。现代滤波则包括维纳滤波、kalman滤波、sg滤波等。
2024-08-17 11:35:45
479
原创 SG滤波总结
SG滤波器是一种在时域内基于多项式最小二乘法拟合的滤波方法,这种滤波器的最大特点在于可用说在滤除噪声的同时保持信号的形状、宽度不变。上述介绍随便一搜就能搜出来。下面上点干货。
2024-08-17 11:18:53
1580
原创 9个例子看懂kalman滤波5大方程
kalman滤波算法是一个在存在不确定性的情况下对系统状态进行估计和预测的强大工具,被广泛应用在诸如目标跟踪、导航和控制等应用场景中。
2024-02-21 20:49:42
2464
原创 李宏毅机器学习笔记-半监督学习
半监督学习,一般应用于少量带标签的数据(数量R)和大量未带标签数据的场景(数量U),一般来说,U>>R。半监督学习一般可以分为2种情况,一种是,这种情况下,将的feature利用进来。另外一种是,这种情况下,在训练的整个过程中,完全不看任何的信息。为什么要做呢,因为我们现实中大多数情况下,搜集数据比较容易,但是数据标注比较困难。包括我们的人生中,我们自己也是一直在做为什么会有用呢,因为可以告诉我们一些信息。通常,我们在做时,会做出一些假设,这个假设很关键,会影响最后的结果。
2023-10-18 00:51:25
854
原创 李宏毅机器学习笔记-transformer
transformer是什么呢?是一个seq2seq的model。具体应用如上图所示,输入和输出的序列长度不固定,由model自己决定。语音翻译指的是,直接输入一段语音信号,例如英文,输出的直接是翻译之后的中文。seq2seq如今已经是一个应用非常广泛的模型,可以应用于NLP的各种任务,如语义分析,语义分类,聊天机器人等。另外还有个值得说明的功能是做。。和是完全不一样的,一个是多分类,另一个是一个样本可以有多个标签。但是多标签的问题,可以用seq2seq模型来解决。
2023-09-23 21:20:39
1193
原创 李宏毅深度学习self-attentin学习笔记
注意力的本质思想就是说,考虑上下文的输入对当前的输入的影响,然后就和人的注意力一样,将重点放在部分输入上,值得被注意的、更为相关的输入会被分配更大的权重,也意味着更被重视。使用复杂的方式的原因在于,方法不固定,就可以利用计算结果,利用梯度下降法求出比最简单的方式可能效果更好的一种方法。接下来,我们自然会思考,在self-attention中,如何自动决定两个向量之间的相关系数为多少呢,如何自动决定2个变量之间的关联性呢。而是一次性同时被算出来的。当然,这里的输入也可以不是输入向量,而是中间层的隐藏向量。
2023-09-10 09:47:24
805
原创 matlab如何遍历文件夹及子文件夹下的所有文件
有一个比较深层的文件夹,每个文件夹及其子文件夹下都可能存在我所需要的csv文件,写一个函数,输入文件夹路径后可以返回所有符合要求的csv文件。
2023-09-07 20:33:59
3081
原创 李宏毅机器学习笔记:RNN循环神经网络
第3个输入为[2,2],结合前一个memory的输入为[6,6],这个时候hidden layer的输出为[16,16],output为[32,32]。这个时候结合前一个memory的输出[2,2],hdden layer的输出为[6,6],output为[12,12]。举例来说,我们输入的第一个向量为[1,1],则hidden layer的输出为[2,2],先被储存起来,输出为[4,4]。这样,将词汇向量化之后,我们指导,网络的输入为一个个的词汇向量,网络的输出则为:y1表示词汇属于。
2023-09-03 16:17:14
2689
1
原创 李宏毅机器学习笔记:结构学习,HMM,CRF
而在给定词性为动词V的条件下,该单词为单词a的概率为0.5,为单词c的概率为0.5。图片表示,开始start后面接的词为PN的概率是0.4,接动词V的概率是0.1,接定冠词D的概率是0.5。类似地,在词性结构已经是PN V D N的第一步的基础上,生成的句子为 John saw the saw的概率为0.2。词性s的单词为特定单词t的概率则为训练数据中所有单词为t且词性属于s的次数除以词性s出现的总次数。现在我们假设出现了该种场景,第一个单词为N,后一个单词为a,求后一个单词的词性预测。
2023-08-22 00:48:23
804
原创 python生成exe脚本全过程
python中要定义属于自己的GUI界面,所用的第三方库为tkinter总体代码框架是这样的# 使用mainloop()函数循环运行GUI界面中所定义好的功能。
2023-08-10 00:32:01
951
原创 深度学习调参入门
在上述示例中,我们首先创建了一个优化器 optimizer,使用随机梯度下降(SGD)算法,并设置初始学习率为 0.1。假设说我要定义一个输入为3,输出为5维的ANN模型用来做分类,3x20x5的网络结构,可以这样做。例如,如果 step_size=5,则每训练 5 个 epoch,学习率会调整一次。第二种,只将训练集进行标准化,默认测试集与训练集同分布,均值标准差一致,只对测试集进行转换。表示学习率缩放因子,即每次调整学习率时,将当前学习率乘以。,则每次学习率调整时,学习率会变为原来的 0.1 倍。
2023-08-05 17:56:27
1198
原创 python入门常用操作
在 Python 中,f-string 是一种字符串格式化的方式,它允许直接在字符串前面添加 f 前缀,并在字符串中使用表达式来插入变量的值。使用 f-string 可以更加简洁和直观地构建字符串。注意,这里双引号可以换成单引号。在Python中,单引号和双引号在绝大部分情况下毫无区别。例如一个5列的ndarry数组,想要获取第2列和第3列数据,可以用。python中似乎没有自带均值滤波函数,自己写一个。因此,如果想表示数组最后1列。
2023-08-05 17:18:04
354
原创 if __name__ == ‘__main__‘:用法
_main__函数的作用是:当我们直接运行这个脚本文件时,可以直接执行其中的某些代码;当我们将该脚本文件当作模块导入到其他脚本文件中时,__main__函数就不会执行,因为在导入时只是将其中的代码抽离成模块,供其他脚本文件使用。在Python中,__main__函数是一个特殊的函数,它是程序的入口点。它是在每个Python脚本文件中自动执行的,用来处理程序的执行流程。’:语句可以判断是否是直接执行脚本,如果是,那么就执行main()函数中的代码。,当脚本被当做模块导入时,它的值为模块的名字。
2023-06-08 09:02:58
489
原创 Wilconxon秩和检验:t检验的替代
上篇文章已经讲过,当数据严重偏离正态时,t检验已经难以反映数据的实际情况。此时最常见的方法是采用的Wilconxon秩和检验代替。有人做过模拟统计,在数据满足正态性时,采用Wilconxon秩和检验的效率大约为t检验的95%,在数据不满足正态性要求的时候,Wilconxon秩和检验的效率则远高于t检验。
2023-05-16 22:31:35
738
原创 t检验前世今生
t检验是科研中非常常用的一种方法和手段,但是理解到位的人并不多,虽然这也不影响其使用。本文主要目的在于将与t检验有关的前前后后都讲明白。
2023-05-13 22:41:17
1676
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅