答案 0 :(得分:3)
import pandas as pd
import quandl as qdl
from scipy.stats import linregress
# get AAPL 10 years data
data = qdl.get("WIKI/AAPL", start_date="2007-01-01", end_date="2017-05-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'],
y=data1['Adj. High'],
)
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'],
y=data1['Adj. Low'],
)
data0['low_trend'] = reg[0] * data0['date_id'] + reg[1]
# plot
data0['Adj. Close'].plot()
data0['high_trend'].plot()
data0['low_trend'].plot()
答案 1 :(得分:2)
根据你的陈述(cit。:)
我做了一些搜索并想了一整天,对于如何做是没有非常好的想法。< / em>
我可以确定,没有普遍的好主意,如何解决这个问题,但这不应该让你紧张。一代又一代的CTA将他们的一生都花在了他们个人的视野上,他们可以花费最多的精力来掌握这一点,所以至少,我们可以了解他们留给我们的路径。
1)定义趋势:
作为最初的惊喜,人们应该考虑一种趋势,而不是外部系统驱动(外在)特征,它与意见更相关,而不是与TimeSeries数据(可观察的)历史相关。
换句话说,一旦人们意识到,关于趋势的信息根本就不存在于TimeSeries数据集的内部,事情将开始明显地清理。
2)如果一个人对她/他的趋势识别方法有足够的信心,那么可以扩展这样的趋势指示,作为一种信念,进入未来(一个猜想)
3) 市场&amp;只有市场确认(或忽略)这样一个人的“接受”信念。
4)共享信念重新确认这样的信念线作为多数受尊重的趋势指标(以市场风险暴露的股权衡量,而不是受欢迎投票,人群大喊或CTAs自我推销的squeeks越少
( zoom-out into a new window for a full-scale indepth view ) 上方的USDCAD示例屏幕反映了所有这些,并添加了一些基本事件的实例,这些实例是在技术起草(定量支持的)主要吸引子“引入”,显示河流流动的现实生活的一部分称为外汇交易。