1、股票分析
股票信息的获取
1、网络爬虫
2、网站下载,专门的股票网站,Kaggle(数据分析和机器学习交流的网站)
3、使用已经开发好的股票API接口:tushare

data.csv文件中存储了股票的信息, 其中第4-8列,即EXCEL表格中的D-H列,
分别为股票的开盘价,最高价,最低价,收盘价,成交量。
分析角度:
1. 计算成交量加权平均价格
概念:成交量加权平均价格,英文名VWAP(Volume-Weighted Average Price,成交量加权平均价格)是一个非常重要的经
济学量,代表着金融资产的“平均”价格。
某个价格的成交量越大,该价格所占的权重就越大。VWAP就是以成交量为权重计算出来的加权平均值。
2. 计算最大值和最小值: 计算股价近期最高价的最大值和最低价的最小值
3. 计算股价近期最高价的最大值和最小值的差值;----(极差)
计算股价近期最低价的最大值和最小值的差值
4. 计算收盘价的中位数
5. 计算收盘价的方差
6. 计算对数收益率, 股票收益率、年波动率及月波动率
***收盘价的分析常常是基于股票收益率的。
股票收益率又可以分为简单收益率和对数收益率。
简单收益率:是指相邻两个价格之间的变化率。 diff
对数收益率:是指所有价格取对数后两两之间的差值。
# [1, 2,3 4] ======>[-1, ]
***使用的方法: NumPy中的diff函数可以返回一个由相邻数组元素的差值构成的数组。
不过需要注意的是,diff返回的数组比收盘价数组少一个元素。
***在投资学中,波动率是对价格变动的一种度量,历史波动率可以根据历史价格数据计算得出。计算历史波动率时,需要用
到对数收益率。
年波动率等于对数收益率的标准差除以其均值,再乘以交易日的平方根,通常交易日取252天。
月波动率等于对数收益率的标准差除以其均值,再乘以交易月的平方根。通常交易月取12月。
7. 获取该时间范围内交易日周一、周二、周三、周四、周五分别对应的平均收盘价
8. 平均收盘价最低,最高分别为星期几

import numpy as npprint("**********************************************")params1 = dict(fname="doc/data.csv",delimiter=",",   # 指定文件分隔符;usecols=(6, 7),unpack=True)  # 是否解包,有几列信息就返回几个一维数组;
# 收盘价,成交量
endPrice, countNum = np.loadtxt(**params1)
# print(endPrice, countNum)
VWAP = np.average(endPrice, weights=countNum)
print("1. 计算成交量加权平均价格:", VWAP)print("**********************************************")
params2 = dict(fname="doc/data.csv",delimiter=",",usecols=(4, 5),unpack=True)
# 最高价和最低价
highPrice, lowPrice = np.loadtxt(**params2)# 最高价的最大值和最低价的最小值
print("2.最高价的最大值: ", highPrice.max())
print("2.最低价的最小值: ", lowPrice.min())print("**********************************************")
# 计算股价近期最高价的最大值和最小值的差值;----(极差)
#     计算股价近期最低价的最大值和最小值的差值print("3. 近期最高价的极差: ", np.ptp(highPrice))
print("3. 近期最低价的极差: ", np.ptp(lowPrice))print("**********************************************")
# 计算收盘价的中位数
print("4. 计算收盘价的中位数:", np.median(endPrice))print("**********************************************")
# 计算收盘价的方差
print("5. 计算收盘价的方差:", np.var(endPrice))print("**********************************************")
def get_week(date):"""根据传入的日期28-01-2011获取星期数, 0-星期一 1-"""from datetime import datetime# 默认传入的不是字符串, 是bytes类型;date = date.decode('utf-8')return datetime.strptime(date, "%d-%m-%Y").weekday()
params3 = dict(fname="doc/data.csv",delimiter=",",usecols=(1, 6),converters={1: get_week},unpack=True)
# 星期数和收盘价
week, endPrice = np.loadtxt(**params3)
# print(week, endPrice)
allAvg = []
for weekday in range(5):# 依次判断获取星期一的平均收盘价, .......星期五average = endPrice[week == weekday].mean()allAvg.append(average)print("7. 星期%s的平均收盘价:%s" % (weekday + 1, average))# print(allAvg)print("**********************************************")
# [12, 23, 34, 45, 56]
print("8.平均收盘价最低是星期", np.argmin(allAvg) + 1)
print("8. 平均收盘价最高是星期", np.argmax(allAvg) + 1)
#print("***********************************************************")
# 简单收益率
simpleReturn = np.diff(endPrice)
print(simpleReturn)
# 对数收益率: 所有价格取对数后两两之间的差值。
logReturn = np.diff(np.log(endPrice))
print("6. 对数收益率:", logReturn)
# 年波动率等于对数收益率的标准差除以其均值,再乘以交易日的平方根,通常交易日取252天。
annual_vol = logReturn.std()/logReturn.mean()*np.sqrt(252)
print("6. 年波动率:",  annual_vol)
#  月波动率等于对数收益率的标准差除以其均值,再乘以交易月的平方根。通常交易月取12月。
month_vol = logReturn.std()/logReturn.mean()*np.sqrt(12)
print("6. 月波动率:", month_vol)

基于numpy的股票分析相关推荐

  1. python预测股票价格论文_基于机器学习的股票分析与预测模型研究

    金融观察 ◎ 基于机器学习的股票分析与预测模型研究 ① 姚雨琪 摘 要 : 近年来 ꎬ 随着全球经济与股市的快速发展 ꎬ 股票投资成为人们最常用的理财方式之一 ꎮ 本文研究的主要目标是利用 机器学习技 ...

  2. python数据预测模型算法_基于机器学习的股票分析与预测模型研究

    摘 要:近年来,随着全球经济与股市的快速发展,股票投资成为人们最常用的理财方式之一.本文研究的主要目标是利用机器学习技术,应用Python编程语言构建股票预测模型,对我国股票市场进行分析与预测.采用S ...

  3. java 计算移动平均线_基于Java语言开发的个性化股票分析技术:移动平均线(MA)...

    基于Java语言开发的个性化股票分析技术:移动平均线(MA) 基于 Java 语言开发的个性化股票分析技术:移动平均线(MA)移动平均线(MA)是以道·琼斯的"平均成本概念"为理论 ...

  4. java kdj_基于Java语言开发的个性化股票分析技术随机指数[KDJ].doc

    基于Java语言开发的个性化股票分析技术:随机指数(KDJ) KDJ指标又叫随机指标,是由乔治·蓝恩博士(GeorgeLane)最早提出的,是一种相当新颖.实用的技术分析指标,它起先用于期货市场的分析 ...

  5. matlab统计所有股票分析,MATLAB金融算法分析实战:基于机器学习的股票量化分析...

    MATLAB金融算法分析实战:基于机器学习的股票量化分析 作者:吴婷;余胜威 编著 出版日期:2017年07月 文件大小:32.24M 支持设备: ¥50.00在线试读 适用客户端: 言商书局 iPa ...

  6. java写的股票技术分析_基于Java语言开发的个性化股票分析技术:量能突破模型(Energe-Break)...

    基于Java语言开发的个性化股票分析技术: 量能突破模型(Energe-Break) 一个用量能指标作为判定依据的条件分析模型,根据最近5天内是否有量能平台的突破以及涨跌幅的大小给每只股票评分评价,给 ...

  7. java kdj_基于java语言开发的个性化股票分析技术:随机指数(kdj).doc

    基于java语言开发的个性化股票分析技术:随机指数(kdj).doc 还剩 17页未读, 继续阅读 下载文档到电脑,马上远离加班熬夜! 亲,很抱歉,此页已超出免费预览范围啦! 如果喜欢就下载吧,价低环 ...

  8. 大数据毕业设计 基于时间序列的股票预测与分析系统 - 大数据分析

    文章目录 1 简介 2 时间序列的由来 2.1 四种模型的名称: 3 数据预览 4 理论公式 4.1 协方差 4.2 相关系数 4.3 scikit-learn计算相关性 5 金融数据的时序分析 5. ...

  9. 基于多元线性回归的股票分析与预测——R语言

    基于多元线性回归的股票分析与预测 一.数据来源 1.自变量 2.因变量 二.多元线性回归 1. 初步建立多元线性回归模型 (1)数据集划分 (2)建立回归模型 2. 多元线性回归模型的优化 3.模型误 ...

最新文章

  1. python 保存内容到记事本里面
  2. 如何判断一个字符串在JavaScript中是否包含某个字符?
  3. mysql经典面试题
  4. Java实现K-means
  5. BZOJ4868 Shoi2017期末考试(三分+贪心)
  6. hdu 2037(今年暑假不AC)
  7. python人工智能是什么意思_人工智能和python有什么关系?
  8. 在html中 标记 lt pre gt,HTML pre标记会导致换行符
  9. 初一数学教材人教版_【期中试卷+知识点总结】初中初一初二初三年级各科期中试卷+知识点总结...
  10. html语义化标签_9.28晨会分享 常见的HTML5语义化标签、实体字符
  11. 反编译获取任何微信小程序源码
  12. 等价类划分测试用例设计方法
  13. 通达OA系统管理员操作手册
  14. hub设备_小米生态链爆品开箱,50W闪充加持,HUB扩展解锁电源新技能
  15. html消除自带边距,CSS3中清除外边距、内边距margin,padding使用方法
  16. 菜鸟知识-五大智能手机操作系统
  17. c语言编写黑白五子棋,Fireworks绘制五子棋黑白棋盘的具体操作
  18. C++图书馆管理系统 详细代码
  19. 牛客多校第八场 Enigmatic Partition(DP)
  20. 【Java 8 新特性】Java 8中的Function.apply方法

热门文章

  1. 得实Dascom AR-430K 打印机驱动
  2. [oeasy]python0093_电子游戏起源_视频游戏_达特茅斯_Basic_家酿俱乐部
  3. python写交易系统_鳄鱼线交易系统Python版
  4. 基于STC8G芯片的时钟显示系统
  5. 融云发送图片消息_基于融云的IM通讯
  6. ps 祛斑祛痘 污点修复画笔工具
  7. 计算机和心理学哪个好考,我是学计算机的今年大三,想考心理学的研究生,不知道未来的就业怎么样?有什么大发展,想问问大家给点建...
  8. SpringBoot学习笔记【part12】Web开发——Thymeleaf模板引擎
  9. 天气预报 API - 空气指数
  10. 特殊符号大全以备不时之需