- 博客(108)
- 资源 (24)
- 收藏
- 关注
原创 风险控制与资金管理基础
摘要: 本文系统讲解了量化交易中的风险管理框架与资金管理原理,旨在构建完整的风险控制工具集。文章首先通过真实案例揭示风险管理对量化策略生存的决定性作用(占成功因素的70%),并剖析了收益与风险、确定性与不确定性等核心矛盾。随后详细介绍了风险度量指标(VaR、CVaR、最大回撤、波动率)、止损策略(固定比例、移动、波动率、时间止损)和仓位管理模型(凯利公式、固定分数、波动率调整)。最后通过Python代码实现了VaR/CVaR计算函数等核心算法,为量化交易者提供了可落地的风险管理解决方案。文章强调,有效的风险
2026-02-24 20:39:07
508
原创 C++模板元编程实战
C++模板元编程实战摘要 本文基于《C++模板元编程入门与实战》设计了三道练习题,重点训练编译期计算和类型安全编程能力。 基础题实现通用向量点积计算,包含: 函数模板dotProduct处理不同维度和类型的数组 类模板Vector封装固定长度向量并提供点积计算 类型安全检查确保向量长度匹配和元素可乘性 技术要点: 使用模板非类型参数指定数组长度 通过static_assert进行编译期检查 利用decltype自动推导结果类型 支持混合类型运算(如int与float) 测试验证了int/float类型向量的
2026-02-13 17:05:48
612
原创 C++模板元编程入门与实战:编译期计算的魔法
本文介绍了C++模板元编程(TMP)的核心概念和实战应用。主要内容包括:1)模板基础(函数/类模板)作为泛型编程基石;2)模板特化实现编译期分支选择;3)两种编译期计算方式(模板递归和constexpr函数);4)类型萃取技术用于编译期类型操作;5)完整代码示例展示模板元编程的实际应用。文章通过阶乘计算、斐波那契数列等案例,展示了如何将计算从运行时转移到编译期,实现零开销抽象。
2026-02-13 08:30:00
449
原创 风险控制与资金管理基础
本文系统介绍了量化交易中的风险管理框架与资金管理原理,重点阐述了风险控制工具集的构建方法。文章首先通过真实案例揭示了风险管理对量化策略成败的决定性作用(70%权重),然后详细解析了风险度量指标(VaR、CVaR、最大回撤等)、止损策略(固定比例、移动止损、波动率止损等)和仓位管理模型(凯利公式、固定分数等)的理论基础。最后通过Python代码实现了完整的风险控制工具集,包括风险指标计算函数和止损策略算法。全文强调风险管理与资金配置是量化交易的核心竞争力,而非单纯追求收益率。
2026-02-12 16:57:42
689
原创 绩效评估指标详解
本文系统解析量化投资策略的绩效评估指标体系,分为五大类指标:收益类(总收益率、年化收益率等)、风险类(波动率、最大回撤等)、风险调整收益类(夏普比率、索提诺比率等)、交易特征类(胜率、盈亏比等)和统计检验方法。文章通过LTCM案例强调多维评估的重要性,并提供Python实现代码。绩效评估需回答三个核心问题:收益能力、风险水平和风险调整收益,不同策略类型应关注不同指标组合。完整的指标体系可避免"幸存者偏差",为策略提供全面"体检"。
2026-02-12 15:06:38
1175
原创 均线突破策略入门
均线突破策略摘要 移动平均线交叉策略是量化交易的经典方法,通过短期和长期均线的交叉判断买卖时机。本文系统介绍了双均线策略的理论基础、实现方法和优化方向: 理论核心:利用短期均线(如5日)反映近期趋势,长期均线(如20日)判断中长期方向,金叉买入、死叉卖出。 实现要点: 区分SMA和EMA的计算方法及适用场景 构建模块化策略类,支持参数配置 采用回测框架验证策略有效性 关键挑战:震荡市中假信号频发、滞后性问题,需结合过滤条件和风险管理优化。 实践建议:避免参数迷信,关注市场结构变化,控制过拟合风险。 该策略在
2026-02-11 21:20:16
298
原创 回测引擎原理与实现
本文介绍了一个模块化回测引擎的设计与实现,重点阐述了金融量化策略验证的关键环节。文章首先区分了因子模型与交易策略的概念差异,指出回测引擎作为连接二者的桥梁作用。核心内容分为两大部分: 理论架构部分: 详细解析回测引擎四大核心模块(数据处理器、策略引擎、投资组合、绩效分析器)的职责与交互关系 对比事件驱动模型与向量化回测两种范式的优缺点 强调交易成本建模的重要性,包括佣金、滑点等显性成本和市场冲击等隐性成本 代码实现部分: 通过几何布朗运动生成模拟价格数据,确保与因子数据时间对齐 构建DataHandler类
2026-02-10 23:14:12
347
原创 因子有效性检验基础
摘要:本文系统介绍了量化投资中因子有效性检验的科学方法论,涵盖IC分析、分层回测、因子收益率、统计检验和稳定性分析五大维度。文章首先指出数据挖掘陷阱和因子失效问题,提出完整的检验框架,包括Pearson/Spearman IC计算、IR评估、分层回测构建、多空组合收益分析等核心方法。通过Python代码实现模拟数据生成和完整检验流程,强调统计显著性(p值)与经济学逻辑的结合,提供因子稳定性的时间维度分析方法,为量化投资实践提供系统化的因子评估方案。
2026-02-09 20:49:54
618
原创 基本面因子计算入门
本文介绍了基本面量化分析的三大类核心因子:盈利能力(如ROE、毛利率)、估值(如PE、PB)和成长性(如营收增长率)。文章详细说明了各因子的计算公式与经济意义,并通过Python代码实现了因子计算函数。同时,文章还探讨了不同因子间的相互关系,为系统评估公司财务健康状况和估值水平提供了量化方法框架。通过模拟数据展示了因子计算和可视化分析过程,帮助投资者更客观、高效地分析上市公司基本面。
2026-02-05 21:56:31
630
原创 RSI与布林带技术指标实战
本文详细介绍了RSI(相对强弱指标)和布林带(Bollinger Bands)两大技术分析工具的原理及应用。RSI通过计算价格涨跌幅的相对强弱来识别超买超卖状态,其标准计算公式包含价格变化分离、平均涨跌幅计算及相对强度转换等步骤,并可采用Wilder平滑方法增强近期数据权重。布林带则基于移动平均线和标准差构建动态价格通道,通过中轨、上下轨的位置关系反映市场波动率变化。两者结合使用可提高交易信号准确性,如RSI超买配合价格突破布林带上轨可视为强卖出信号。文章还提供了Python实现代码,包括标准RSI计算和W
2026-02-05 21:10:19
1330
原创 MACD技术指标原理与计算
MACD技术指标原理与实现 摘要:MACD(移动平均收敛发散指标)是量化股价趋势强度和识别转折点的核心技术指标。它由DIF线(12日EMA-26日EMA)、DEA线(DIF的9日EMA)和MACD柱状图((DIF-DEA)×2)三部分组成。MACD通过计算不同周期移动平均线的差值关系,将抽象趋势转化为可量化指标,提供金叉/死叉买卖信号、零轴穿越趋势判断和背离反转预警等功能。本文详细解析了MACD的数学原理,包括EMA递归计算公式和核心参数意义,并给出完整的Python实现代码,涵盖EMA计算、MACD指标生
2026-02-04 20:31:24
1991
原创 实战:制作股票行情分析看板
实战:股票行情分析看板构建 摘要 本文介绍了如何构建专业的股票行情分析仪表板,整合金融数据获取、清洗、时序处理和可视化技能。看板设计包含多层次数据整合(价格、成交量、技术指标、风险指标),采用科学的4×2+1网格布局,实现关键行情指标的一站式监控。通过Python代码实战演示了数据获取模块(yfinance API)、技术指标计算模块(移动均线、MACD、RSI、布林带等)的实现方法,以及可视化布局的最佳实践。该解决方案有效解决了投资分析中的信息过载、决策效率低等问题,帮助用户快速掌握股票关键行情指标。
2026-02-03 21:52:11
609
原创 STL vector实战练习题
STL vector扩容机制分析摘要 本文通过实验程序验证不同C++编译器(GCC/MSVC/Clang)的vector扩容策略。程序跟踪vector从空开始逐步插入元素的过程,记录每次扩容时的size()和capacity()值,计算增长倍数和内存利用率。 核心发现: 不同编译器采用1.5倍或2.0倍几何增长策略 扩容触发条件为size() == capacity() 内存利用率在扩容前达到100%,扩容后下降 程序输出扩容统计表格,包括扩容次数、总分配内存和平均利用率 实验方法:使用push_back(
2026-02-02 20:56:02
532
原创 STL vector容器底层原理剖析:从内存布局到性能优化
STL vector容器原理与优化 摘要:本文深入剖析C++ STL中vector容器的底层实现机制。vector采用三指针模型管理连续内存空间,包含_start、_finish和_end_of_storage三个关键指针。当容量不足时,vector会以1.5-2倍的几何增长策略扩容,C++11后通过移动语义显著提升了元素迁移效率。文章详细分析了迭代器失效的各种场景,并强调预分配(reserve)是优化vector性能的最有效手段,可减少70%-90%运行时间。通过完整代码示例展示了扩容过程、迭代器失效问题
2026-02-02 16:59:17
1086
原创 C++多重继承与虚继承实战练习
C++多重继承与虚继承内存布局分析 本文通过代码示例对比了普通多重继承和虚继承的内存布局差异。实现了一个菱形继承结构(Animal->Sheep/Tuo->SheepTuo),分别用两种继承方式创建对象并分析其内存布局。普通继承会导致基类Animal的数据成员m_age在最终派生类中存在两份拷贝,产生冗余;而虚继承通过vbptr机制确保只有一个共享的Animal子对象。代码中使用了指针算术计算各子对象和数据成员的偏移地址,验证了虚继承能有效消除数据冗余。访问测试显示普通继承下存在二义性问题,必须
2026-02-01 21:56:54
513
原创 深度解析:C++多重继承与虚继承的内存布局,彻底搞懂菱形继承问题
本文深入解析了C++多重继承中的菱形继承问题及其解决方案。当派生类通过不同路径继承同一基类时,会导致数据冗余和访问二义性。通过虚继承技术,可确保虚基类在继承体系中仅存在一份实例。文章通过动物继承体系的代码示例,展示了普通多重继承的内存布局问题(20字节大小,包含重复数据)和虚继承的解决方案(消除二义性,共享基类实例)。虚继承底层通过虚基类指针(vbptr)和虚基类表(vbtable)实现,确保派生类能正确访问共享的基类成员。这种机制虽然增加了编译器和运行时的复杂度,但有效解决了多重继承的核心难题。
2026-02-01 21:38:36
736
原创 C++虚函数表与动态多态实战练习
C++虚函数表与动态多态实战摘要 本练习通过三个难度梯度的题目,深入探讨C++虚函数表(vtable)与动态多态机制。基础题分析Dog继承Animal类的内存布局,包括: 对象大小计算(考虑vptr、成员变量和对齐) 内存布局示意图展示vptr位置和成员排列 虚函数表构建过程(基类表拷贝→函数覆盖→追加新函数) 解决方案通过实际代码验证: 使用sizeof计算对象大小 指针偏移分析成员位置 ASCII图展示内存布局 详细解释虚函数表从基类到派生类的演变过程 (字数:150字)
2026-01-31 22:37:49
516
原创 多图组合与子图布局 - 创建专业金融分析报告
摘要 本文介绍如何利用matplotlib的GridSpec技术创建专业金融分析报告,系统展示股票多维度分析。文章首先提出投资经理在汇报贵州茅台分析时面临的6个关键维度展示需求,指出传统多图组合的三大挑战:布局混乱、样式割裂和关联缺失。 核心内容聚焦GridSpec技术体系,包括其网格系统原理、切片语法和四大视觉设计原则(视觉层次、协调统一、信息密度、可读性)。文章详细解析了如何通过height_ratios、width_ratios等参数控制子图布局,并提供了数据准备模块的完整代码实现,支持真实数据与模拟
2026-01-30 14:01:56
525
原创 时间序列可视化专题 - 趋势、周期与异常的三维透视
本文探讨了如何通过Python可视化工具对金融时间序列数据进行多维分析,重点解决股价波动中识别趋势、周期和异常的难题。文章首先指出传统分析方法的三大痛点:维度单一、参数随意和解读片面,并提出核心问题:如何将一维价格数据转化为三维市场洞察。 在知识铺垫部分,系统介绍了趋势可视化工具(移动平均线、布林带)、周期分解方法(加法/乘法模型)和异常检测技术(跳空缺口、波动率突变)。代码实战部分展示了完整的实现流程,包括环境准备、模拟数据生成和趋势分析图绘制。 文章强调通过科学可视化将复杂市场特征直观呈现,为量化策略开
2026-01-29 20:32:10
570
原创 金融数据可视化实战 - seaborn高级可视化技巧
金融数据可视化实战摘要 本文介绍如何使用Python的seaborn库进行金融数据的专业可视化分析。针对包含5只不同行业龙头股的投资组合,通过seaborn的高级统计图形功能,包括热力图、配对图和箱线图,帮助投资者快速发现股票间的相关性模式、波动率差异等关键信息。 文章首先分析了seaborn的核心优势:简化API、美观样式和统计集成功能。然后详细介绍了三类主要统计图形及其金融应用场景:关系类图形(如热力图)、分布类图形(如核密度图)和分类类图形(如箱线图)。 实战部分演示了从数据获取到图表生成的完整流程,
2026-01-29 15:36:36
691
原创 金融数据可视化入门 - matplotlib基础
金融数据可视化入门:matplotlib基础 本文介绍了使用matplotlib进行金融数据可视化的核心方法和技巧。首先阐述了可视化在量化分析中的关键作用,包括趋势识别、量价关系分析等技术指标的可视化需求。接着详细讲解了matplotlib的三层架构(画布-子图-元素)和金融图表设计原则,包括颜色规范、布局规范和坐标轴优化。重点介绍了双轴图表的实现原理,通过共享x轴和不同y轴展示不同量纲数据。最后提供了沪深300指数价格-成交量双轴分析的完整代码示例,包含专业金融图表的所有要素,如涨跌颜色区分、对数刻度处理
2026-01-28 22:07:53
512
2
原创 深入解析C++虚函数表(vtable)与动态多态实现机制
C++虚函数表(vtable)机制解析 虚函数表是实现C++动态多态的核心机制。每个包含虚函数的类都有一张虚函数表(vtable),存储该类所有虚函数的地址。对象内存起始位置包含一个虚函数指针(vptr),指向所属类的vtable。调用虚函数时,程序通过vptr找到vtable,再根据函数索引调用正确的实现。 关键特性: 虚函数表在编译期生成,位于只读数据段 对象构造时初始化vptr指向当前类的vtable 派生类vtable会覆盖基类虚函数地址并追加新虚函数 虚函数调用比普通函数多一次间接寻址 虚函数机制
2026-01-28 20:06:55
1009
原创 计算股票收益率与波动率
本文介绍了股票收益率与波动率的核心计算方法及其在量化投资中的应用。文章对比了简单收益率和对数收益率的区别与适用场景,详细讲解了累计收益率、波动率体系(日波动率、年化波动率、滚动波动率)以及收益率相关性的计算原理。通过三只A股代表股票的实际案例,展示了Python实现这些指标的具体步骤和可视化分析。文章还从投资角度解读了分析结果,并指出这些基础指标如何为构建量化策略奠定基础,包括组合优化、风险管理和策略回测等进阶应用。最后提供了从基础到进阶的量化学习路径建议,强调收益率和波动率分析是量化投资的核心基础。
2026-01-28 16:20:33
1448
1
原创 Pandas时间序列操作实战
本文介绍了Pandas时间序列操作在金融数据分析中的核心应用,重点讲解了三大关键工具:时间索引、重采样和滚动窗口。文章首先阐述了金融时间序列分析面临的挑战,如时间尺度转换、动态指标计算等问题,并指出传统方法的局限性。随后详细讲解了Pandas的时间索引特性、重采样技术的时间粒度转换功能,以及滚动窗口的动态统计量计算方法。通过贵州茅台和宁德时代的股票数据实战案例,展示了如何将日线数据转换为周线/月线、计算移动平均线和滚动波动率等实用技术指标。这些方法能有效帮助投资者识别市场趋势、管理风险,并为量化策略提供可靠
2026-01-28 08:42:01
878
原创 智能指针综合实践:对象生命周期管理系统
本文介绍了基于智能指针的对象生命周期管理系统实践。系统使用shared_ptr管理对象所有权,weak_ptr实现观察引用,重点解决循环引用导致的内存泄漏问题。核心包括Object类(维护强弱引用列表)和ObjectManager类(全局管理),实现了对象创建、引用建立、循环检测(DES算法)、安全访问等功能。通过3个测试场景验证引用计数机制,并提供了扩展方向如多线程支持、持久化存储等。实践可帮助深入理解智能指针工作原理,掌握循环引用解决方案,提升系统设计能力。完整实现代码可通过指定公众号获取。
2026-01-27 13:26:09
817
原创 深入理解 shared_ptr 与 weak_ptr:破解循环引用的内存困局
优先使用unique_ptr:除非确实需要共享所有权使用:创建shared_ptr,提高性能警惕循环引用:在双向引用场景中,至少一方使用weak_ptr正确访问weak_ptr:总是通过lock()方法并判空理解线程安全边界:引用计数安全,对象读写需同步。
2026-01-26 15:07:44
798
原创 智能指针实战练习:unique_ptr
本文通过三个练习题讲解std::unique_ptr智能指针的使用方法。基础题演示了数组的创建、访问、修改和释放;进阶题通过图书管理系统展示了所有权的转移过程;综合题将传统指针代码重构为智能指针版本。所有练习均遵循RAII原则,确保内存安全,避免泄漏,并强调独占所有权和移动语义的核心特性。通过实践掌握智能指针替代裸指针的正确方法。
2026-01-26 14:53:14
757
原创 金融数据清洗实战
数据清洗不是一次性的"打扫卫生",而是量化研究的基础设施工程。系统性诊断:全面评估数据质量,识别缺失、异常、不一致问题针对性清洗:针对金融数据特点,选择合适方法处理不同类型问题可视化验证:通过图表直观展示清洗效果,确保处理合理标准化输出:构建分析友好的数据结构,为后续研究铺平道路数据质量决定了模型的上限,而清洗质量决定了数据的下限。在后续学习中,我们将基于清洗后的数据,深入探索因子计算、策略回测等核心量化技术。
2026-01-24 22:04:58
1051
原创 动态内存分配与智能指针(unique_ptr):告别内存泄漏的现代C++之道
摘要:现代C++智能指针与内存管理 本文介绍了C++中动态内存管理的核心机制,重点阐述了std::unique_ptr智能指针的原理与应用。主要内容包括: 传统内存管理的三大陷阱:内存泄漏、悬空指针和重复释放问题 RAII设计原则:将资源生命周期绑定对象生命周期,实现自动资源管理 unique_ptr特性: 独占所有权设计,禁止拷贝但支持移动语义 零开销的自动内存管理 离开作用域自动释放内存 实践应用: 使用make_unique创建智能指针 通过std::move()实现所有权转移 在函数参数和容器中的使
2026-01-24 22:02:26
576
原创 使用Tushare获取A股历史行情数据
股票历史行情(日线、周线、月线)实时行情数据基本面数据(财务指标、业绩预告等)宏观经济数据新闻事件数据# ========== 环境准备 ==========# 设置中文字体# ========== Tushare配置 ==========# 请替换为您的实际token(注册地址:https://tushare.pro/weborder/#/login?TUSHARE_TOKEN = '你的token_here'# ========== 核心函数定义 ==========
2026-01-22 14:41:08
1648
原创 C++指针与内存管理
本文深度剖析了C++中指针与引用的核心区别。指针是存储地址的独立变量,可为空且可重绑定;引用则是变量的别名,必须初始化且不可更改。通过代码示例和内存布局图展示了二者差异:指针需要解引用且占用内存,引用直接操作目标变量。在函数参数传递中,引用更安全简洁,指针则适用于可选参数和动态内存管理。汇编层面显示引用常被优化掉,而指针始终需要存储地址。建议优先使用引用保证安全,仅在需要表示空值或动态内存时使用指针,并保持接口设计一致性。掌握这些差异能写出更高效安全的代码。
2026-01-21 14:02:39
1182
1
原创 使用python在不改变原有excel的格式下,修改指定单元格格式
参考了https://segmentfault.com/q/1010000008270267。有一个账单,需要生成一个副本,但是需要将交易员列隐藏,不能改变原有的格式。xlsx的文件容易实现,使用openpyxl实现。xls的文件使用xlrd+xlutil实现。
2024-08-13 13:48:31
1006
原创 python实现sm4,ecb模式加密
python实现输入十六进制字符串key和待加密的值,返回加密后的十六进制值。关键在于对十六进制字符串key的处理。
2023-02-22 16:12:40
2159
1
原创 解决uuid/uuid.h:No such file or directory
在编译项目的时候报错,uuid/uuid.h:No such file or directory,按照网上的装了很多包,例如uuid-devel uuid e2fsprogs-devel,但是还是报错,最后又装了libuuid-devel解决了。
2022-11-04 10:52:12
1207
原创 python subprocess 获取到的pid总是比实际的小1
现象python subprocess 获取到的pid总是比实际的小1问题描述代码如下:用的subprocess.Popen,shell设置为True,有时候获取到的pid为实际的-1p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE, cwd=path_of_strategy) # stdout, stderr = p.communicate() p
2022-05-20 17:36:16
2295
2
原创 pytest报错ModuleNotFoundError No module named ‘extensions‘
问题pytest报错ModuleNotFoundError No module named ‘extensions’___________________________________________________________________________________________________________________________________ ERROR collecting tests/extensions/test_utils.py ________________
2022-04-07 17:54:16
1817
STM32103z中文手册
2016-12-11
oracle-instantclient-sqlplus-21.5.0.0.0-1.el8.x86_64.rpm
2022-03-14
oracle-instantclient-devel-21.5.0.0.0-1.el8.x86_64.rpm
2022-03-14
oracle-instantclient-basic-21.5.0.0.0-1.el8.x86_64.rpm
2022-03-14
fastjson-1.2.74.jar和1.2.53两个版本
2020-10-22
fastjson1.2.73___1.2.68
2020-10-22
python_____3.6.8-amd64.rar
2020-10-02
STM32F1xx支持包
2016-12-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅