python 瀑布线指标编写实例
作者:云金杞 发布时间:2023-04-17 02:13:34
标签:python,瀑布线,指标
我就废话不多说了,大家还是直接看代码吧!
# -*- coding: utf-8 -*-
"""
Created on Tue May 23 08:57:02 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,'close']
if i>0:
df.ix[i,'ema']=(2*df.ix[i-1,'close']+(N-1)*df.ix[i,'close'])/(N+1)
return df['ema']
def get_PBX(df):
df['a1']=(get_EMA(df,4)+df['close'].rolling(8).mean()+
df['close'].rolling(16).mean())/3
df['a2']=(get_EMA(df,6)+df['close'].rolling(12).mean()+
df['close'].rolling(24).mean())/3
df['a3']=(get_EMA(df,9)+df['close'].rolling(18).mean()+
df['close'].rolling(36).mean())/3
df['a4']=(get_EMA(df,13)+df['close'].rolling(26).mean()+
df['close'].rolling(52).mean())/3
df['a5']=(get_EMA(df,18)+df['close'].rolling(36).mean()+
df['close'].rolling(72).mean())/3
df['a6']=(get_EMA(df,24)+df['close'].rolling(48).mean()+
df['close'].rolling(96).mean())/3
return df
get_PBX(df)
df.tail()
'''
瀑布线
原理:均线类指标
用法:
瀑布线是趋势性指标,因其在运行的过程中,形态与瀑布极其相似,故得名为瀑布线。
瀑布线在低位粘合,短线瀑布线向上穿越长线瀑布线并向上发散,买入。
瀑布线在高位粘合,短线瀑布线向下穿越长线瀑布线并向下发散,卖出。
当长中短期瀑布线依次由下向上排列形成多头排列时,可持股。
当长中短期瀑布线依次由上向下排列形成空头排列时,应空仓。
'''
补充知识:Python使用逻辑运算符and、or、nor判断整数正负
今天刷Leetcode的时候,对整数进行翻转,由于Python的除法是向下取整,因此要对输入整数进行正负的判断,当时想到的是使用三目运算,但是看参考答案的时候,发现使用的是逻辑运算符进行正负数的判断,当时一脸懵逼,经过查找相关资料理解了原理,故此做个记录。
答案代码如图所示:
sign = x<0 and -1 or 1
其中x为输入整数,如果x为正数返回1,如果为负数返回-1。
由于最开始接触的C语言,学习Python的时候就没有太在意逻辑运算符,以为跟C语言一样返回的是一个布尔值,不知道为何会返回1和-1,查了相关资料发现Python中逻辑运算原理如下:
x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 |
---|---|
x or y | 布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。 |
not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 |
当输入为一个负数时,运算过程如下所示:
>>> -123<0
True
>>> True and -1
-1
>>> -1 or 1
-1
首先判断-123<0,返回True,此时True与-1进行与运算,x为真,返回y的值为-1;然后-1与1进行或运算,由于非零整数都是为False,此时返回x的值-1。
当输入为一个正数时,运算过程如下所示:
>>> 123<0
False
>>> False and -1
False
>>> False or 1
1
首先判断123<0,返回False,此时False与-1进行与运算,x为假,返回False,然后False与1进行或运算,由于x为假,此时返回y的值1。
总而言之,使用Python中的逻辑运算符返回的并不是非False即True,而与输入x,y相关。
另外判断输入整数的正负还可以使用三目运算,如下所示:
sign = 1 if x>0 else -1
另附对整数实现翻转完整代码:
class Solution(object):
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
a = 0
sign = x<0 and -1 or 1
x = abs(x)
while(x != 0):
a = a*10 + x%10
x //=10
return a*sign if a<2**31 else 0
来源:https://blog.csdn.net/qq_26948675/article/details/72640089


猜你喜欢
- 废话不多说,直接上代码/** * lhgcalendar时间插件限制只能选择三个月 * @d 获取到的开始时间 * @m 要限制的时间的长度
- python中查找指定的字符串的方法如下:code#查询def selStr(): sStr1 = 'jsjtt.com
- be前言:期末临近,考Python的同学可以练练问题描述:给定一段长度为N的整数序列A,请从中选出一段连续的子序列(可以为0)使得这段的总和
- 借助 org.springframework.ui.Model 对象或 Map 对象将信息传到 springmvc 的页面中需要:jstl
- 1.写作背景Tensorflow官方在2018年宣布,正式发布支持树莓派版本的Tensorflow,编者开始直接用:pip install
- 本文实例为大家分享了python实现学生信息管理系统的具体代码,供大家参考,具体内容如下学生管理系统的开发步骤:1、显示学生管理系统的功能菜
- 本文实例讲解了tab响应式切换效果,利用js对样式进行动态切换即可。 多的不说,请看代码<html> <head>
- 前言 简述bs4:使用pip install beautifulsoup4将bs4包安装到当前的python解释器环境,使用fro
- 在通过scrapy框架进行某些网站数据爬取的时候,往往会碰到页面动态数据加载的情况发生,如果直接使用scrapy对其url发请求,是绝对获取
- 两个文章,放在一块了。第二个比较强。====================================================
- 前言我们这里主要是利用requests模块和bs4模块进行简单的爬虫的讲解,让大家可以对爬虫有了初步的认识,我们通过爬几个简单网站,让大家循
- 本文实例讲述了Python定时任务sched模块用法。分享给大家供大家参考,具体如下:通过sched模块可以实现通过自定义时间,自定义函数,
- 1. 序列类型定义序列是具有先后关系的一组元素序列是一维元素向量,元素类型可以不同类似数学运算序列:S0,S1,…,S(n-1)元素间由序号
- 一、Python介绍从我开始学习Python时我就决定维护一个经常使用的“窍门”列表。不论何时当我看到一段让我觉得“酷,这样也行!”的代码时
- 用了腾讯QQ也有将近十年了,今天心血来潮想模仿腾讯QQ的登陆面板做一个web版的登陆面板,然后参考了一些代码,自己模仿,学写了一个。&nbs
- 英文的文档在这里,详细全面,本文仅为自己的学习笔记,只是试图通过转述加深自己的学习,不详细不全面。由于浏览器之间的差异,所以在JS中监听事件
- 观察者模式首先,提到观察者模式,这不禁让我想到了MVVM,MVVM架构模式感觉用到了观察者的思想。我们还是按照惯例,了解一下什么是观察者模式
- SocketServer创建一个网络服务框架。它定义了类来处理TCP,UDP, UNIX streams 和UNIX datagrams上的
- 方法一我常用的做法,就是在数据库中加一个删除标识字段,如: isdel=1 这样就代码删除的字段了方法二直接限制mysql删除启动MySQL
- 对于一个设了自动增长标识的数据表来说,它的字段的值是由数据库自动设置的;这在导数据时很麻烦。 当我们导数据时,我们往往想想将标识字段的数据也