微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

检测价格何时突破低点或高点趋势图

如何解决检测价格何时突破低点或高点趋势图

趋势线,通常称为最佳拟合线,是用于表示一组数据的行为以确定是否存在某种模式的线。趋势线是一种分析工具,最常与散点图(有序对的二维图)结合使用,以查看两个变量之间是否存在关系。 此代码绘制高趋势线和低趋势线。 我试图检测时间价格何时突破低趋势或高趋势。 请分享您的解决方案。谢谢

import pandas as pd
import quandl as qdl
from scipy.stats import linregress
import matplotlib.pyplot as plt

# get AAPL 10 years data

data = qdl.get("WIKI/AAPL",start_date="2016-01-01",end_date="2016-09-01")
data0 = data.copy()
data0['date_id'] = ((data0.index.date - data0.index.date.min())).astype('timedelta64[D]')
data0['date_id'] = data0['date_id'].dt.days + 1

# high trend line

data1 = data0.copy()

while len(data1)>3:

    reg = linregress(
                    x=data1['date_id'],y=data1['Adj. High'],)
    data1 = data1.loc[data1['Adj. High'] > reg[0] * data1['date_id'] + reg[1]]

reg = linregress(
                    x=data1['date_id'],)

data0['high_trend'] = reg[0] * data0['date_id'] + reg[1]

# low trend line

data1 = data0.copy()

while len(data1)>3:

    reg = linregress(
                    x=data1['date_id'],y=data1['Adj. Low'],)
    data1 = data1.loc[data1['Adj. Low'] < reg[0] * data1['date_id'] + reg[1]]


reg = linregress(
                    x=data1['date_id'],)

data0['low_trend'] = reg[0] * data0['date_id'] + reg[1]

# plot

data0['Adj. Close'].plot()
data0['high_trend'].plot()
data0['low_trend'].plot()
plt.show()

chart 检查这个

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。