量化交易基础之python库学习

一 股票常用指标

极差:越高说明波动越明显极差,股价近期最高价的最大值和最小值的差值

**成交量加权平均价格:**英文名VWAP(Volume-Weighted Average Price,成交成交量加权平均价格量加权平均价格)是一个非常重要的经济学量,代表着金融资产的"平均"价格

收益率:简单收益率,相邻两个价格之间的变化率, 对数收益率,指所有价格取对数后两两之间的差值

**波动率:**越高说明波动越明显波动率,波动率是对价格变动的一种衡量

年波动率:对数波动率的标准差除以其均值,再除以交易日倒数的平年波动率方根,通常交易日取250天

**月波动率:**对数收益率的标准差除以其均值,再乘以交易月的平方根,通常交易月取12月

二:numpy使用

2.1 卷积:

卷积可用于描述过去作用对当前的影响。卷积是时空响应卷积的叠加,可用作计算"滑动平均"

numpy.convolve(a,y,mode='ful'),这是numpy函数中的卷积函数库

参数:

a:(N,)输入的一维数组Q(

b:(M,)输入的第二个一维数组

mode:{'ful','valid'same'}参数可选

full默认值,返回每一个卷积值,长度是N+M-1,在卷积的边缘处,信号不重叠,存在边际效应。 *

same'返回的数组长度为max(M,N),边际效应依旧存在。

'valid'返回的数组长度为max(M,N)-min(M.N)+1.此时返回的是完全重叠的点。边缘的点无效。来源百度百科

2.2 简单移动均线

2.3 指数移动均线

python 复制代码
import matplotlib
import numpy as np
import matplotlib.pyplot as plt
matplotlib.use("TkAgg")

class TestNumpyMA():
    def __init__(self):
        self.file = "./commont.csv"
        self.end_price = np.loadtxt(fname=self.file, delimiter=",", usecols=(2), unpack=True, skiprows=1)
        # print(self.end_price)

    def testSMA(self):
        n = 5 # 移动窗口
        weights = np.ones(n) / n # 生成权重
        print(weights)
        sma = np.convolve(weights, self.end_price)[n-1: -n+1] #生成卷积
        print(sma)
        plt.plot(sma, linewidth=5)
        plt.show()

    def testEXP(self):
        x = np.arange(5)
        y = np.arange(10)
        print(x)
        print(y)
        print(np.exp(x))
        print(np.exp(y))
        print(np.linspace(-1, 0, 5))


    def testEMA(self):
        n = 5  # 移动窗口
        weights = np.ones(n) / n  # 生成权重
        print(weights)
        sma = np.convolve(weights, self.end_price)[n - 1: -n + 1]  # 生成卷积
        t = np.arange(n-1, len(self.end_price))
        plt.plot(t, self.end_price[n-1: ], lw=1.0)
        plt.plot(t, sma, lw=2.0)
        plt.show()



if __name__ == '__main__':
    tnma = TestNumpyMA()
    # tnma.testSMA()
    # tnma.testEXP()
    tnma.testEMA()

三 pandas库

3.1 股票时间序列

时间序列:金融领域最重要的数据类型之一 , 股价、汇率为常见的时间序列数据

趋势分析:主要分析时间序列在某一方向上持续运动, 在量化交易领域,我们通过统计手段对投资品的收益率进行时间序列建模,以此来预测未来的收益率并产生交易信号

序列相关性:金融时间序列的一个最重要特征是序列相关性, 以投资品的收益率序列为例,我们会经常观察到一段时间产生的收益

3.2 pandas时间序列函数

datetime: 时间序列最常用的数据类型, 方便进行各种时间类型运算

loc: pandas中对DateFrame进行刷选的函数,相当于SQL中的where

groupby:Pandas中对数据分组函数,相当于SQL中的GroupBy

相关推荐
youm20031 小时前
【学习笔记】认识NoSQL——非关系型数据库
笔记·学习·nosql
传奇开心果编程1 小时前
【Rust入门知识点学与练】第11课:HashMap 键值对集合
开发语言·学习·rust
约克32 小时前
商水约克中央空调商用工程的行业洞察与落地要点
学习
王的宝库2 小时前
Linux 性能优化入门
linux·学习
公爵爱学习3 小时前
无人机定点飞行-介绍
开发语言·图像处理·python·学习·线性回归·无人机
浔溺3 小时前
al+大数据每日学习笔记33
大数据·笔记·学习
lifallen3 小时前
Agent 框架不是 API 包装器,而是一个微型操作系统内核
人工智能·学习·ai·ai编程
是隼人3 小时前
buuctf-pwn pwnable_start(ret2shellcode)题解(学习过程持续更新)
c语言·学习·安全·pwn入门·ctf入门
my05923 小时前
跳出单一信息工具局限:奥米豆构建认知与心智并行的学习范式
大数据·人工智能·python·学习