分类
怎麼成為成功的交易者

移动平均在股票分析

# 查看数据的情况(最大最小值),和训练本身无关,可不执行 train['Date'].min(), train['Date'].max(), valid['Date'].min(), valid['Date'].max() (Timestamp('2013-10-08 00:00:00'), Timestamp('2017-10-06 00:00:00'), Timestamp('2017-10-09 00:00:00'), Timestamp('2018-10-08 00:00:00'))

CN101004817A - 金融股市趋势的分析系统和方法 - Google Patents

Publication number CN101004817A CN101004817A CNA2006100009514A CN200610000951A CN101004817A CN 101004817 A CN101004817 A CN 101004817A CN A2006100009514 A CNA2006100009514 A CN A2006100009514A CN 200610000951 A CN200610000951 A CN 200610000951A CN 101004817 A CN101004817 A CN 101004817A Authority CN China Prior art keywords trend district stock market uplift finance Prior art date 2006-01-16 Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.) Pending Application number CNA2006100009514A Other languages English ( en ) Inventor 卓国裕 Original Assignee 卓国裕 Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation 移动平均在股票分析 as to the accuracy of the date listed.) 2006-01-16 Filing date 2006-01-16 Publication date 2007-07-25 2006-01-16 Application filed by 卓国裕 filed Critical 卓国裕 2006-01-16 Priority to CNA2006100009514A priority Critical patent/CN101004817A/zh 2007-07-25 Publication of CN101004817A publication Critical patent/CN101004817A/zh Status Pending legal-status Critical Current

怎样使用移动平均线?- 股票技术分析方法

如何解读移动平均线?
1.移动平均线的走向可以有三种:向上,向下,和水平。水平又分两种,上升后的高价位横向趋势和下降后的低价位横向趋势。可以简单的利用移动平均线的走向来判断趋势:向上就是上升趋势;向下就是下降趋势;水平就是横向趋势或者说是没趋势。对于当前的中国股市,不论你是买低卖高,还是买高卖更高,你要赚钱就必须只做上升趋势。
2.短期,长期速移动平均线的交叉。根据不同时间周期,可以计算出不同的短期和长期均线。例如,5日均线,10日均线。一个简单的交易系统买入信号就是:5日均线向上跨过10日均线。同理卖出信号就是:5日均线向下穿越10日均线。
3. 股票价格和移动均线的相对位置。股票价格在移动均线以上为强势,以下为弱势。当股价已经下降相当长一段时间以后,如果K线出现反转信号,并且股票价格收在均线以上,就可以考虑买入。当然同时要设定相应的止损作为保护。
4. 移动均线还有支撑和阻挡的作用。股票价格在均线以上上升时,均线可以起回调时的支撑作用;股票价格在均线以下下降时,均线可以起回调时的阻挡作用。

股票简单移动平均线

移动平均线使用注意事项:
1. 参与短线,中线,长线的股票交易者,应采用不同周期的价格移动平均线。
2. 不同的股票有不同的特性,所以他们适用的移动均线周期也可能不同。所以周期的选择也要因股票而已。
3. 移动平均线中只包括了交易价格和时间的信息,但是没有交易量。对于交易量的分析,对于判断趋势走向非常重要。有人说,股票价格可以骗人,但是交易量骗不了人。

其它均线型指标:

EXPMA指数平均数指标(Exponential Moving Average)
EXPMA=(上一天收盘价+ 上一天EXPMA值)/天数+上一天EXPMA值

从以上的EXPMA计算公式可以看出:
1. 与MA相同,在计算EXPMA指数平均数指标时,运用的是收盘价格。
2. 指数平均数指标的计算方法与移动平均线的计算方法不同,它是对收盘价格加权平均而得,所以近期价格波动对于EXPMA值影响更大,这使得EXPMA比MA更敏感。

移动平均在股票分析

达康书记的茶杯

如何预测股票分析--移动平均

#import packages 导入pandas、numpy库

import pandas as pd

import numpy as np

#to plot within notebook 绘图的库,如果不是在jupytor里面运行的话第二行可以省略

import matplotlib.pyplot as plt

%matplotlib inline

#setting figure size设定画布大小

from matplotlib.pylab 移动平均在股票分析 import rcParams

rcParams['figure.figsize'] = 20,10

#for normalizing data 数据归一化

from sklearn.preprocessing import MinMaxScaler

scaler = MinMaxScaler(feature_range=(0, 1))

#read the file 读取文件夹,注意这里的数据集要放在同一个文件夹下面

df = pd.read_csv('NSE-TATAGLOBAL(1).csv')

#print the head 打印数据前几行

df.head()

#setting index as date 把date这一列作为索引

df['Date'] = pd.to_datetime(df.Date,format='%Y-%m-%d')

df.index = df['Date']

#plot 打印收盘价(按照上面的索引来)

plt.figure(figsize=(16,8))

plt.plot(df['Close'], label='Close Price history')

利用一组先前观测值的平均值作为每天的预期收盘价,移动平均法使用最近的一组数据计算预测值。换句话说,对于后续的每个新的时间,在考虑预测值时,将从集合中删除最早的观测值,并加入上一个观测值。下面是一个简单的图,它将帮助您更清楚地理解这一点。

取黄色的部分的平均值作为黄色的下一个的预测,之后扔掉最开始的,把预测的上,继续预测再下一个区域,可以理解为一个固定的窗口的滑动,每次取窗口内的a v g,预测窗口后一个的值

#creating dataframe with date and the target variable创建一个只包含日期和收盘价列的数据框

data = df.sort_index(ascending=True, axis=0)

new_data = pd.DataFrame(index=range(0,len(df)),columns=['Date', 'Close'])

# 将所有日期和收盘价列的数据放到一个list中来

for i in range(0,len(data)):

new_data['Date'][i] = data['Date'][i]

new_data['Close'][i] = data['Close'][i]

#splitting into train and validation 数据分割为训练和验证集

train = new_data[:987]

valid = new_data[987:]

# 查看数据的情况(规模),和训练本身无关,可不执行

new_data.shape, 移动平均在股票分析 移动平均在股票分析 train.shape, valid.shape

((1235, 2), (987, 2), (248, 2))

# 查看数据的情况(最大最小值),和训练本身无关,可不执行

train['Date'].min(), train['Date'].max(), valid['Date'].min(), valid['Date'].max()

(Timestamp('2013-10-08 00:00:00'),

Timestamp('2017-10-06 00:00:00'),

Timestamp('2017-10-09 00:00:00'),

Timestamp('2018-10-08 00:00:00'))

#make predictions 为验证集创建预测值

preds = []

for i in range(0,248):

a = train['Close'][len(train)-248+i:].sum() + sum(preds)

b = a/248

preds.append(b)

#calculate rmse 计算RMSE误差。

rms=np.sqrt(np.mean(np.power((np.array(移动平均在股票分析 valid['Close'])-preds),2)))

rms

104.51415465984348

#plot 画出训练的数据(绿线)、预测值(蓝线)与训练集的观测值(橙线)

# 对于第一行的作用为什么是0不是很理解,如果有知道的 大佬 麻烦留言处指点迷津

valid['Predictions'] = 0

valid['Predictions'] = preds

plt.plot(train['Close'])

plt.plot(valid'Close', 'Predictions')