python-大智慧-VMACD-量指数平滑移动平均线

简介: python-大智慧-VMACD-量指数平滑移动平均线
# -*- coding: utf-8 -*-
"""
Created on Wed May 24 15:47:51 2017
@author: yunjinqi 
E-mail:yunjinqi@qq.com 
Differentiate yourself in the world from anyone else.
"""
import pandas as pd  
import numpy as np  
import datetime  
import time  
#获取数据  
df=pd.read_csv('C:/Users/HXWD/Desktop/000001.csv',encoding='gbk')  
df.columns=['date','code','name','close','high','low','open','preclose',  
'change','change_per','volume','amt']  
df=df[['date','open','high','low','close','volume','amt']]  
df.head()  
def get_EMA(df,N):  
    for i in range(len(df)):  
        if i==0:  
            df.ix[i,'ema']=df.ix[i,'volume']  
        if i>0:  
            df.ix[i,'ema']=(2*df.ix[i-1,'volume']+(N-1)*df.ix[i,'volume'])/(N+1)  
    ema=list(df['ema'])  
    return ema  
def get_VMACD(df,short=12,long=26,M=9):  
    a=get_EMA(df,short)  
    b=get_EMA(df,long)  
    df['diff']=pd.Series(a)-pd.Series(b)  
    #print(df['diff'])  
    for i in range(len(df)):  
        if i==0:  
            df.ix[i,'dea']=df.ix[i,'diff']  
        if i>0:  
            df.ix[i,'dea']=(2*df.ix[i-1,'diff']+(M-1)*df.ix[i,'diff'])/(M+1)  
    df['macd']=2*(df['diff']-df['dea'])  
    return df  
get_VMACD(df,12,26,9)  
df.tail() 

'''

   量指数平滑异同平均线

原理:

   以成交量为权数的MACD指标。


算法:


DIFF线 成交量的短期(SHORT)、长期(LONG)指数平滑移动平均线间的差。

DEA线  DIFF线的M日指数平滑移动平均线。

MACD线 DIFF线与DEA线的差,彩色柱状线。


用法:


1.DIFF、DEA均为正,DIFF向上突破DEA,买入信号。


2.DIFF、DEA均为负,DIFF向下跌破DEA,卖出信号。


3.DEA线与K线发生背离,行情反转信号。


4.分析MACD柱状线,由正变负,卖出信号;由负变正,买入信号。'''

目录
相关文章
|
8月前
|
Java 数据处理 索引
(numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
ndarray切片 索引从0开始 索引/切片类型 描述/用法 基本索引 通过整数索引直接访问元素。 行/列切片 使用冒号:切片语法选择行或列的子集 连续切片 从起始索引到结束索引按步长切片 使用slice函数 通过slice(start,stop,strp)定义切片规则 布尔索引 通过布尔条件筛选满足条件的元素。支持逻辑运算符 &、|。
407 0
|
存储 索引 Python
[oeasy]python093_find方法_指数为负数_index_实际效果
本文介绍了Python中`find`方法与索引(index)的使用,包括负数索引的实际效果。回顾了`eval`函数的应用,并强调类名如`str`、`int`、`list`不可用作变量名以避免覆盖。通过示例解析了负数索引在字符串和列表中的作用,以及`index`方法的三个参数(value、start、stop)的用法。同时对比了`index`和`find`方法的区别:`index`找不到子串时抛出`ValueError`,而`find`返回-1。最后总结了正负索引的使用场景及两者的特性,提供了相关学习资源链接。
568 8
|
数据可视化 数据挖掘 Python
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化(下)
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化
|
数据可视化 API 开发者
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化(上)
Python时间序列分析苹果股票数据:分解、平稳性检验、滤波器、滑动窗口平滑、移动平均、可视化
指数平滑法详解与Python代码示例
指数平滑法详解与Python代码示例
|
机器学习/深度学习 PyTorch TensorFlow
Python实现深度学习学习率指数衰减的方法与参数介绍
学习率指数衰减提供了一种高效的动态调整学习率的手段,帮助模型在不同训练阶段以不同的学习速度优化,有利于提升模型性能和训练效率。通过合理设置衰减策略中的参数,可以有效地控制学习率的衰减过程,实现更加精确的模型训练调优。
898 0
|
Python
Python中幂运算中的负数底数和分数指数
【6月更文挑战第1天】
1012 7
|
数据采集 算法 数据可视化
python实现时序平滑算法SG滤波器
python实现时序平滑算法SG滤波器
|
数据可视化 Python
Python中的等值线平滑处理技术
Python中的等值线平滑处理技术
670 2
|
Serverless Python 数据可视化
在Python中绘制移动平均线(MA)
【5月更文挑战第1天】使用Python的pandas和matplotlib库绘制移动平均线示例:加载CSV数据,计算5天、10天和20天MA,然后在图表上绘制收盘价及移动平均线。matplotlib的plot和legend函数用于绘图和添加图例,显示自定义图表。查阅matplotlib文档以了解更多定制选项。
554 1

推荐镜像

更多