量化交易基础之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

相关推荐
UIU1143 小时前
递归算法与汉诺塔
c++·学习·算法·c#·递归
一隅论数智6 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
XiHongShi20166 天前
STM32F407 RTC定时器例程,建议保存
stm32·单片机·学习
爱吃苹果的日记本6 天前
离散数学第六课
学习·离散数学
AI职业加油站6 天前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
旖旎夜光6 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
奇思妙想聪明勤奋的小羊6 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
霍霍的袁6 天前
【C++】map 和 set 的使用 | 从用法到底层
开发语言·c++·学习·visual studio
彧azz6 天前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试