1 import pandas as pd
 2 import numpy as np
 3 import matplotlib.pylab as plt
 4
 5 res=pd.read_csv("601318.csv",parse_dates=True,index_col="date")
 6
 7
 8 #画图
 9 # plt.plot(res["open"],"r-",res["close"],"b-")
10 # plt.xlabel(u"time")
11 # plt.ylabel(u"price")
12 # plt.show()
13
14 #计算ma5和ma10
15
16 #----------方案1
17 # res["ma5"]=np.NaN
18 # res["ma10"]=np.NaN
19 #
20 # for i in range(4,len(res)):       #从4开始
21 #     res.loc[res.index[i],"ma5"]=res["close"][i-4:i+1].mean()  #按下表取到时间对象,然后loc拿到该位置的ma5值,然后取到平均值
22 #
23 # for i in range(9,len(res)):
24 #     res.loc[res.index[i],"ma5"]=res["close"][i-9:i+1].mean()
25 #
26 # print(res)
27
28 #----------方案2
29 # res["ma5"]=(res["close"].cumsum()-res["close"].cumsum().shift(1).fillna(0).shift(4))/5      #如果一次性移动5个的话,第五个
30 #位置会成为NaN,这样,第五个位置上相减后就会没有值,所以先移动一个,让其填充上0,这样保证前四个是NaN,但是第五个有值
31 # res["ma10"]=(res["close"].cumsum()-res["close"].cumsum().shift(1).fillna(0).shift(9))/10
32
33
34 # 1   2   3   4   5   6   7
35 # 1   3   6   10  15  21  28
36 #                 1   3   6   10
37
38 #----------方案3
39 res["ma5"]=res["close"].rolling(5).mean()     #默认rolling的光标行是最后一行
40 res["ma10"]=res["close"].rolling(10).mean()
41
42 # plt.plot(res["ma5"],"r-",res["ma10"],"b-")
43 # plt.xlabel(u"time")
44 # plt.ylabel(u"price")
45 # plt.show()
46
47
48 #找出金叉和死叉
49
50 res=res.dropna()
51
52 #----------------方案1
53 # golden=[]
54 # black=[]
55 # sr=res["ma5"]>=res["ma10"]
56 #
57 # for i in range(1,len(sr)):
58 #     if sr.iloc[i]==True and sr.iloc[i-1]==False:
59 #         golden.append(sr.index[i])
60 #     if sr.iloc[i]==False and sr.iloc[i-1]==True:
61 #         black.append(sr.index[i])
62
63 #----------------方案2
64 golden=res[list((res["ma5"]>=res["ma10"]) & (res["ma5"]<res["ma10"]).shift(1))].index
65
66 black=res[(res["ma5"]<=res["ma10"]) & (res["ma5"]>res["ma10"]).shift(1)].index
67
68 # print(type((res["ma5"]>=res["ma10"]) & (res["ma5"]<res["ma10"]).shift(1)))
69 # print(list((res["ma5"]>=res["ma10"]) & (res["ma5"]<res["ma10"]).shift(1)))
70
71 #1、先取到5日大于10日的True,在取到5日小于10日的True,让后者往后挪一天则按照布尔索引取到所有值,然后再转化为索引
72
73 #                    1     2   3   4   5   6   7   8   9   10  11  12  13  14  15
74 #例如:5日>10日:#     T     T   T   F   T   T   T   T   F   F   F   F   T   T   T
75 #例如:5日<10日:#     F     F   F   T   F   F   F   F   T   T   T   T   F   F   F
76 #例如:5日<10日,后挪1:#     F   F   F   T   F   F   F   F   T   T   T   T   F   F   F
77
78 #死叉是4日和9日,则都是T的时候是金叉,如5日

转载于:https://www.cnblogs.com/chedanlangren/p/7413001.html

金融分析之基本ma5 及金叉、死叉相关推荐

  1. 用python找出400多万次KDJ金叉死叉,胜率有多高?附代码

    引言: 邢不行的系列帖子"量化小讲堂",通过实际案例教初学者使用python进行量化投Z,了解行业研究方向 这是邢不行第90期量化小课堂分享 作者 l 邢不行 不知道大家有没有发现 ...

  2. 金叉死叉图解,金叉死叉的短线操作方法

    小沙我自己长期以来一直对二级市场交易很有热情,从三年前开始,就不断地在理论实践两方面逐渐加深对于金融市场的理解,最近发现一个叫QR量化社区的平台,也给了自己很多灵感.经历了最近的市场波动,突然来了动力 ...

  3. 小散量化炒股记|趋势指标金叉死叉策略在震荡行情中怎么处理

    前言 相信大家都听说了量化交易这个东西了吧!量化交易是一种新兴的系统化金融投资方法. 那么,什么才是普通股民所适合的量化交易打开方式呢? 本文就用一个接地气的股票分析场景--典型的趋势指标金叉死叉策略 ...

  4. python量化 双均线策略(金叉死叉)

    #小策略,策略逻辑是在金叉时候买进,死叉时候卖出,所谓金叉死叉是两条均线的交叉,当短期均线上穿长期均线为金叉,反之为死叉 #下面是策略代码及结构 # 导入函数库 from jqdata import ...

  5. mt4双线macd_金叉死叉?高手教你MT4的MACD用法

    "日线金叉已经形成,后市即将走高,赶紧买吧!""4小时线形成死叉,价格即将走低,赶紧抛不然就来不及了!"传说中的金叉,死叉,到底是何方神圣,为何总是挂在各类交易 ...

  6. 扑克王怎样于市场中基于金叉死叉进行趋势跟踪

    扑克王怎样于市场中基于金叉死叉进行趋势跟踪 小孙我自己很久之前就对金融市场交易很感兴趣,从三年前开始,就不断地在理论实践两方面逐渐加深对于金融市场的理解,最近发现一个叫QR量化社区的平台,也给了自己很 ...

  7. MACD金叉死叉能不能提前预警?2020上半年MACD金叉死叉的效果如何?

    MACD金叉死叉能不能提前预警?2020上半年MACD金叉死叉的效果如何? 欢迎来到桥博士<MACD指标详解>课堂,今天的主题是MACD金叉死叉能不能提前预警?2020上半年MACD金叉死 ...

  8. 金叉走势图解上半年暴跌行情,如何证明macd金叉死叉模型确实有用?

    <MACD指标详解>课程学员:如何证明一种指标实战效果是否有效? 同济桥博士:今年的上半年是特殊的一个上半年,我们国内的A股也遇到了从来没有遇到过的疫情.行情特别的罕见,暴跌加超强反弹.我 ...

  9. 家庭主夫怎么在今年3月27号的市场中利用金叉死叉进行波段操作

    小孙我自己很久之前就对证券市场很感兴趣,从大学开始,就不断地在理论实践两方面逐渐加深对于金融市场的理解,最近发现一个叫QR量化社区的平台,也给了自己很多灵感.经历了最近的市场波动,心血来潮,在此就分享 ...

  10. 择时策略1:一个金叉死叉(python)

    学习目标:择时策略1:一个金叉买入死叉卖出策略 学习内容: 1:导入必要的库 import pandas as pd pd.set_option('expand_frame_repr', False) ...

最新文章

  1. SQL Try Catch
  2. strstr、strspn如何使用
  3. mysql驱动profilesql_java连接mysql的驱动配置问题
  4. oracle undo管理机制,Oracle UNDO数据概念和管理
  5. SpringBoot整合redisson分布式锁
  6. The DotNet Garbage Collection
  7. css中背景颜色的代码,css背景代码是什么,css怎么控制背景颜色
  8. 对MRPⅡ/ERP的认知
  9. 从月薪3000到月薪过万:做什么工作才能过上想要的生活
  10. linux怎么设置文件访问权限,Linux文件和目录访问权限设置
  11. JavaEE - 数组
  12. 浙江大学软件学院网络自动认证+Padavan路由器挂python脚本
  13. Ubuntu 20.04无法连接网络(网络图标丢失)的解决方案
  14. 学生给老师的一道思考题
  15. ESP32学习6:I2C总线
  16. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.xxx.xxx 的解决办法
  17. plot3D | 三维数据绘图(3):mesh函数、surf3D函数、spheresurf3D函数
  18. 什么是虚拟机?虚拟机有那几种
  19. 定理在数学中的简写形式_初一数学:定义、定理、公式、方法
  20. 卡西欧科学计算机玩法,巨好玩:计算器CASIO(卡西欧)新玩法

热门文章

  1. 调功器PA400X系列选型+个人理解
  2. html video 控件,HTML video controls 属性
  3. 元分析 | 精神分裂症患者认知功能的脑结构相关
  4. 计算机主机内部结构连接,OPS电脑与显示器之间的连接结构的制作方法
  5. MMORPG游戏设计
  6. NEO4J实战之《阿丽塔战斗天使》
  7. Integer的值范围-128~127
  8. Python,爬取电影天堂,你觉得怎么样?
  9. 团队中技术同质化的反思
  10. -- 40、查询选修“张三“老师所授课程的学生中,成绩最高的学生信息及其成绩