量化投资

量化投资学习笔记36——《Python机器学习应用》课程笔记09

别说谁变了你拦得住时间么 提交于 2020-03-05 17:35:44
手写识别实例,用神经网络实现。 手写识别是一个多分类任务,共有10个分类,即0-9。 图像识别是指利用计算机对图像进行处理、分析和理解,以识别各种不同模式的目标和对象的技术。一般经历文字识别,数字图像处理与识别和物体识别。 用DBRHD数据集,在这里下载: http://archive.ics.uci.edu/ml/machine-learning-databases/pendigits/ 折腾了半天,程序是运行成功了,但结果不对。另找了一篇文章,用sklearn自带数据集digits。 https://blog.csdn.net/mcyjacky/article/details/85226752 coding:utf-8 神经网络实现手写识别 from sklearn.neural_network import MLPClassifier from sklearn.datasets import load_digits from sklearn.model_selection import train_test_split from sklearn.metrics import classification_report import matplotlib.pyplot as plt if name == " main ": # 加载数据 digits = load_digits

运用成交量指数加权的量化交易策略

左心房为你撑大大i 提交于 2020-03-05 15:16:07
什么是成交量加权指数 成交量加权指数是一种投资指数,其中每份投资与其每个投资标的的成交量成比例地影响指数。在指数中添加每份投资的成交量并除以投资总数决定了指数的价值。具有较高成交量的投资将比具有较低成交量的投资给予更多权重,因此将对指数的表现有更大的发言权。 详解成交量加权指数 在成交量加权指数中,从110美元涨至120美元的投资对指数的影响将大于从10美元涨至20美元的投资,即便这些上涨的幅度不如低价时候的涨幅,成交量较高的投资对指数或整体方向产生较大影响。 举个例子,道琼斯工业平均指数(DIJA)是最受欢迎的成交量加权投资之一,由30种不同的投资或组成部分组成。在该指数中,成交量较高的投资标的的成交量高于成交量较低的投资标的,因此称为成交量加权指定。 其他加权指数 除了成交量加权指数外,其他基本类型的加权指数包括价值加权指数和未加权指数。对于价值加权指数,如MSCI战略指数系列中的指数,已发行投资标的的数量是一个因素。为了确定价值加权指数中每只投资标的的权重,投资标的的成交量乘以已发行投资标的的数量。例如,如果投资A有5,000,000股已发行并且交易成交量为15美元,则其在指数中的权重为750,000,000美元。如果投资B的交易成交量为30美元,但只有1,000,000股已发行,其权重为30,000,000美元。因此,在价值加权指数中

量化投资学习笔记34——《Python机器学习应用》课程笔记08

馋奶兔 提交于 2020-03-04 15:40:43
岭回归 解决某些训练样本线性相关,导致回归结果不稳定的情况。 它是一种用于共线性数据分析的有偏估计回归方法。是一种改良的最小二乘估计法。 在sklearn中使用sklearn.linear_model.Ridge进行。 课程的实例是交通流量预测,我找不到数据文件,从网上自己找个例子吧。 用波士顿房价预测做例子。 先加载数据并放到dataframe里。 用seaborn的pairplot画图看看。 真不错,又会一招。可以看到(最后一行或最后一列)有的属性与房价有明显的关系,而有的没有明显关系。 还是用所有属性建模。 lr的均方误差为: 33.00649127511586 Rd的均方误差为: 33.008436871102866 比较线性回归和岭回归,貌似结果差不多,想画图看看,老也不对,算啦。。 本文代码: https://github.com/zwdnet/MyQuant/blob/master/34 我发文章的四个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。 我的个人博客地址: https://zwdnet.github.io 我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts 我的博客园博客地址: https://www.cnblogs.com/zwdnet/ 我的微信个人订阅号:赵瑜敏的口腔医学学习园地

量化投资学习笔记33——《Python机器学习应用》课程笔记07

纵然是瞬间 提交于 2020-03-03 15:38:07
多项式回归 研究一个或多个自变量与一个因变量间多项式的回归分析方法。如果一个自变量,为一元多项式回归。自变量为多个时,为多元多项式回归。多项式回归使用曲线拟合数据的输入与输出的映射关系。 实例,还是预测房价。 用sklearn.preprocessing.PolynomialFeatures函数。 数据跟上一篇的一样。 PolynomialFeatures这个函数的作用,是生成变量的各种组合形式,如a,b两个自变量,最高二次,可以生成1,a,b, ab, a^2, b^2。 再用这个多项式进行回归分析。结果为 注意不要用太高的次数,那样容易过拟合。 本文代码: https://github.com/zwdnet/MyQuant/blob/master/33 我发文章的四个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。 我的个人博客地址: https://zwdnet.github.io 我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts 我的博客园博客地址: https://www.cnblogs.com/zwdnet/ 我的微信个人订阅号:赵瑜敏的口腔医学学习园地 来源: https://www.cnblogs.com/zwdnet/p/12402470.html

量化投资学习笔记32——《Python机器学习应用》课程笔记06

☆樱花仙子☆ 提交于 2020-03-02 19:49:06
讲有监督学习的线性回归。 线性回归是利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 只有一个自变量的回归称简单回归,大于一个变量的情况称多元回归。 用途:预测、分析变量与因变量关系的强度。 实例:对房屋尺寸与房价进行线性回归,预测房价。 分析:数据可视化,观察变量是否有线性关系。 画散点图 可见明显呈线性趋势。 用sklearn进行线性回归,注意数据的维度需一致,用reshape进行调整。如 linear.fit(x.reshape(length, -1), y) 完整代码见: https://github.com/zwdnet/MyQuant/blob/master/30 回归的结果 我发文章的四个地方,欢迎大家在朋友圈等地方分享,欢迎点“在看”。 我的个人博客地址: https://zwdnet.github.io 我的知乎文章地址: https://www.zhihu.com/people/zhao-you-min/posts 我的博客园博客地址: https://www.cnblogs.com/zwdnet/ 我的微信个人订阅号:赵瑜敏的口腔医学学习园地 来源: https://www.cnblogs.com/zwdnet/p/12397454.html

量化投资学习笔记31——《Python机器学习应用》课程笔记05

倖福魔咒の 提交于 2020-03-01 16:49:11
用分类算法进行上证指数涨跌预测。 根据今天以前的150个交易日的数据,预测今日股市涨跌。 交叉验证的思想:将数据集D划分为k个大小相似的互斥子集,每个子集都尽可能保持数据分布的一致性,即从D中通过分层抽样来得到。然后,每次用k-1个子集的并集作为训练集,余下的那个子集作为测试集。这样可以获得k组训练/测试集,从而可进行k次训练/测试,最终返回的是这k个测试结果的均值。通常称为"k者交叉验证",常用取值是10。 coding:utf-8 用分类算法预测股市涨跌 import pandas as pd import numpy as np from sklearn import svm from sklearn.model_selection import train_test_split import tushare as ts if name == " main ": 读取股票数据 data = pd.read_csv("HS300_his.csv") print(data.head()) data.sort_index(0,ascending=True,inplace=True) print(data.head()) dayfeature = 150 featurenum = 4*dayfeature x = np.zeros((data.shape[0] -

如何开展量化投资研究

丶灬走出姿态 提交于 2020-02-29 13:50:46
参考:https://uqer.datayes.com/v3/community/share/5b6197d86bc62701e4bf52f9 目录: 需要哪些数据? ---- 巧妇难为无米之炊 怎样测量策略的性能? ----- 搭建回测系统 怎样衡量量化策略的好坏? ---- 箩筐统计指标 开始挣钱! ---- 从回测到实盘 1、需要哪些数据? ---- 巧妇难为无米之炊   首先,讲下可能用到的数据类型有哪些 历史日行情数据:即提供历史上每天每只股票的高开低收等价格信息以及成交量相关的信息,这也是量化中最基础的数据。通常能提供历史日行情数据的,几乎都能在当天交易日收盘之后提供更新的数据,因此也是实时更新的日行情数据。 历史日内行情数据:即能提供历史上每一天中间更为详细的价量信息,通常为5分钟一个数据点,也有一分钟甚至是半秒频率的数据。每个数据点的形式一般为该数据点代表时间段内的一个价量综合统计,包括高开低收和成交量信息。 历史分笔数据:即历史上每一笔交易的明细,每一个数据点是一笔交易,记录了每一笔成交的价格、数量、时间等信息,是记录实际成交信息最为细致的数据。 历史限价委托薄数据:记录了历史上每一个时刻限价委托薄的快照,每一个数据点代表一个时刻,每个数据点之间的间隔通常较小,比如0.5秒。每个数据点包含该时刻十档(或者五档)报价和挂单量等数据

程序员的炼金术,如何用技术变现

倾然丶 夕夏残阳落幕 提交于 2020-02-28 19:49:47
NO.1QUANT.LA 上图拍摄于腾讯全球新总部滨海大厦。在深夜,腾讯大楼几乎是周围所有楼里最亮的。到凌晨两点的时候上面三四层会关灯,但下面依然灯火通明,周末也是如此。 大公司如此,小公司更是如此。作为常年领跑工薪阶层,撸代码的你,有没有想过,你的人生下半场就是这样了? 总有改不完的需求,经常加班到深夜,精神高度集中,耳边除了键盘声,偶尔也会听到内心的呐喊:“太累了,真的太累了,改行又不知道做什么”。但是第二天,又吭哧吭哧写代码。 直到日引月长,你渐渐成了大龄码农,身体上已经吃不消了,赶不上项目进度和技术的更新,硬件条件迫使你的职业生涯又不得不做一次选择。 NO.2QUANT.LA 有人曾对整个IT行业做过统计,得出了一个结论,大龄程序员的普遍出路主要有这三个:做管理、下海创业和继续写程序。 升级做管理 能第一个想到的就是转到管理岗位,这也是绝大多数大龄码农的选择,也许是最好的选择。但管理看似简单,却也不容易做的事情。管人理事,不只需要专业知识,更需要更多的管理经验,才能管得了人,理得了事。所以从单纯写程序转到管理,能不能转过来还得打个大大的问号。 下海创业 比起单纯做管理,互联网创业要艰难的多,风险也大得多。除了相关技术知识和管理经验,还需要资源、产品、市场、运营、人脉、运气等等。小米的投资人之一,晨兴资本的刘芹曾经给出一个数据:以IPO为标准的话,创业成功的概率只有五万分之一

量化投资学习笔记28——《Python机器学习应用》课程笔记02

时光怂恿深爱的人放手 提交于 2020-02-28 19:48:53
降维 PCA算法及其应用 主成分分析(PCA),通常用于高维数据的探索与可视化。可以拔具有相关性的高维变量转化为线性无关的低维变量。称为主成分,能够尽可能保存原始数据的信息。 几个概念 方差:样本与样本均值的差的平方和的均值,用来度量一组数据的分散程度。 协方差:用于度量两个变量的线性相关程度。 特征向量:描述数据集结构的非零向量。 原理:矩阵的主成分就是其协方差矩阵对应的特征向量,按照对应特征值排序,分为第一主成分,第二主成分,以此类推。 在sklearn中使用decomposition模块中的PCA进行降维。 实例,用PCA将鸢尾花数据进行降维,可视化。 代码见: https://github.com/zwdnet/MyQuant/blob/master/26/PCAtest.py 非负矩阵分解(NMF) 是在矩阵中所有元素均为非负数约束条件下的矩阵分解方法。 基本思想:给定一个非负矩阵V,NMF能够找到一个非负矩阵W和一个非负矩阵H,使得二者的乘积近似等于矩阵V中的值。 W矩阵,从原矩阵V中提取的特征。 H矩阵,系数矩阵。 分解目标,最小化W与H乘积与V的差异。 在sklearn中使用decomposition模块中的NMF进行分解。 实例,用NMF进行人脸图像数据集Olivetti特征提取。 代码见: https://github.com/zwdnet/MyQuant

量化投资学习笔记27——《Python机器学习应用》课程笔记01

杀马特。学长 韩版系。学妹 提交于 2020-02-27 17:28:32
北京理工大学在线课程: http://www.icourse163.org/course/BIT-1001872001 机器学习分类 监督学习 无监督学习 半监督学习 强化学习 深度学习 Scikit-learn算法分类 sklearn自带的标准数据集 sklearn的六大任务:分类、回归、聚类、降维、模型选择、数据预处理。 一、无监督学习:数据没有标签。最常用的是聚类和降维。 聚类:根据数据的相似性将数据分为多类的过程。使用样本的“距离”来估算样本的相似性,不同的距离计算方法有不同的分类结果。常用的距离计算方法有欧氏距离,曼哈顿距离,马氏距离,余弦相似度。 sklearn的聚类功能包含在sklearn.cluster中。同样的数据集应用不同的算法可能得到不同的结果,运行时间也不同。 其所接受的数据输入格式: 标准输入格式:[样本个数,特征个数]定义的矩阵形式。 相似矩阵形式输入:以[样本数目]定义的矩阵,矩阵中每个元素为样本相似度。 常用聚类算法 降维:在保证数据所具有的代表特性或分布的情况下,将高维数据转化为低维数据。 用于数据的可视化,或精简数据。 sklearn的降维算法包含在decomposition模块中,含有7种降维算法。主要有 1.聚类 ①k-means算法及应用 以k为参数,把n个对象分为k个簇,使簇内具有较高的相似度,而簇间的相似度较低。 过程: