本文目标对象
零基础编程小白
读完本文你将收获
开始用numpy解决学习工作中的具体问题
什么是Numpy
Numpy 是Python语言的一个基础库(library),专为数据处理而生,是金融量化的必学工具。初入量化领域的你对高效处理金融数据一定充满憧憬,但遇到现实问题的时候,你却常常有如下的疑问:
或许你在纠结怎么处理金融数据处理?
或许你想知道怎么更快更有效率的运算数据?
或许你想知道怎么设计逻辑判断条件选股?
又或许你想了解Python不同库直接的交互关系?
那么,就让我们走进Numpy库,开始量化金融数据处理的第一步!
为什么要学Numpy
NumPy是python语言中使用最频繁的基础库之一,主要是进行各种数据计算处理,是每一个接触量化领域的人士必修之库。NumPy包含:
(1)一个强大的 N 维数组对象,对其进行数组、元素级的运算
(2)Numpy函数更加适应更加复杂的金融数据处理
(3)含有用于整合 C、C++、Fortran 代码的工具
(4)可实现线性代数、傅里叶变化、随机数生成等功能
(5)是SciPy和 Matplotlib等库的基础库,交互使用
以上都是一名合格的Quant必备技能。现在,让我们使用import语句导入numpy模块吧!
NumPy有哪些功能
数据创建
常规创建方式
np.array()函数,使用numpy中array函数将可迭代对象转化为ndarray类型以备后续计算
np.arange()函数,使用numpy中arange函数直接生成ndarray数据,运算逻辑类似range()内置函数。
np.arange(n)返回一个可产生从0到n(不含n),步长为1数字的ndarray。
np.arange(a, b, s)返回一个可产生从a到b(不含b),步长为s数字的ndarray。
创建特殊ndarray
np.ones生成一个形状如传入参数,元素均为1的ndarray。
np.random利用该模块内的函数生成形状如传入参数,元素符合对应分布的ndarray。
np.random.randn(a)生成a*1的ndarray,其值符合正态分布。
数学运算
用np.abs函数对ndarray中每一个元素求绝对值。
用np.sqrt函数对ndarray中每个元素求平方根。
用np.exp函数对ndarray中每个元素求指数幂。
用np.log函数对ndarray中每个元素求自然对数。
用np.sign函数对ndarray中每个元素的符号进行判断。
聚合运算
求最大值:np.max函数与array.max方法等价。
求最大值索引:np.argmax函数与array.argmax方法等价。
求最小值:np.min函数与array.min方法等价。
求最小值索引:np.argmin函数与array.argmin方法等价。
求和:np.sum函数与array.sum方法等价。
求积:np.prod函数和array.prod方法等价。
求均值:np.mean函数与array.mean方法等价。
求中位数:np.median返回沿特定轴的中位数。
求标准差:np.std函数与array.std方法等价。
求方差:np.var函数与array.var方法等价。
累计运算
累计和:np.cumsum函数与array.cumsum方法等价。
累积乘积:np.cumprod函数与array.cumprod方法等价。
逻辑运算
np.all函数:ndarray中每一个元素都为True,则返回True。
np.any函数:ndarray中有一个元素为True,则返回True。
np.logical_and函数: 对多个ndarray中每一个元素进行并列判断,如果并列的每一个元素全为True,则返回True。
np.logical_or函数: 对多个ndarray中每一个元素进行异或判断,如果有一个元素为True,则返回True。
数据操作
位置索引:根据位置获取ndarray的某一个值,类似list使用方法。
Bool值索引:使用bool值进行索引,True则获取对应ndarray中的元素,False则不获取,最终返回ndarray。
数据规整化
排序:np.sort函数对ndarray中元素进行排序,默认为升序排列。
维度调整:np.reshape函数对ndarray中元素进行维度调整,调整为输入参数形状。
转置:np.transpose函数对ndarray进行转置。
拼接:np.concatenate函数对ndarray进行拼接。
NumPy具体如何操作
Numpy提供了强大的N维数组对象,除了基本了数学运算,还有针对数组级别的聚合计算和累计计算,比如在量化交易中:
A. 运用np.where等逻辑判断函数进行条件选股
B. 运用np.cumsum等累计函数结合基础运算函数计算 收益率
C. 运用位置索引和bool索引提取所需交易量和价格数据
D. 数据规整化类的函数,对股票指标进行排序,调整、拼接等操作
理解了Numpy库才能更好地运用后续将要学习的Pandas库,因为Pandas本质上也是由一个个Ndarray(多维数组)构成,不熟悉Numpy库,就像手无寸铁的新兵,在枪林弹雨的数据面前手足无措。
如果还不知道怎么能快速掌握这门必杀技,快点加入“一量学院”,拿起Numpy这项武器,在量化金融市场中披荆斩棘。
一量学院史上最全的量化交易策略课程
第一部分:经典量化策略
量化择时的策略设计方法
1. 均线模型策略
2. 随机指标模型
3. 技术指标背离策略
4. 通道突破策略
动量与反转
1. 惯性和均值回归思想
2. 动量策略
3. 反转策略
如何做基金套利
1. QDII-LOF基金套利
2. 分级基金套利
3. 基金跨境套利
4. 基金跨资产/品种套利
宏观择时与行业轮动
1. 宏观择时策略
2. 全球宏观对冲策略
3. 美林时钟周期
4. 宏观因子择时
5. 行业轮动策略
热门的多空Alpha与事件驱动策略
1. 多空Alpha策略
2. 对冲基金策略
3. 事件驱动策略
4. 多因子价值策略
第二部分:期货CTA量化交易策略
经典趋势策略
1. CTA趋势策略之菲阿里四价和Dual-Thrust
2. CTA趋势策略之ATR突破和R-Breaker
3. CTA趋势策略之中长线日间交易
4. CTA趋势策略之择时-修正TD模型
5. CTA趋势策略之海龟交易法则
经典套利策略
1. CTA统计套利
2. CTA期现套利策略
3. CTA跨期、跨市场、跨品种套利策略
第三部分:机器学习策略
1. 大数据与舆情分析策略
2. 机器学习策略设计
3. 隐马尔可夫模型和支持向量机
4. 深度学习策略设计
第四部分:高阶策略
1. 高频策略与算法交易
2. 期权与衍生品交易策略设计
3. 期权宽跨式套利策略
4. 期权期货平价套利
5. 资产配置与复合策略设计
6. 均值方差模型
7. Black-litterman模型
8. 风险平价策略
- END -