[英]How to calculate the trendline for stock price
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()
根據你的陳述(cit。:)
我做了一些搜索並想了一整天 ,對於怎么做都沒有一個很好的主意。
我可以肯定,沒有普遍好的想法,如何解決這個問題,但這不應該讓你緊張。 一代又一代的CTA花了他們一生的努力來實現他們在掌握這一點上所花費的最大努力的個人視野,所以至少,我們可以了解他們留給我們的路徑。
1)定義趨勢:
作為一個初步的驚喜,人們應該考慮一種趨勢,而不是一個外部系統驅動(外在)特征,它與一個觀點更相關,而不是一個TimeSeries數據(可觀察的)歷史。
換句話說,一旦人們意識到,關於趨勢的信息根本就不存在於TimeSeries數據集的內部,事情將開始顯着清理。
2)鑒於一個人對她/他的趨勢識別方法有足夠的認識,
人們可以將這種趨勢指示作為一種信念線延伸到未來 (一個猜想)
3) 市場 &只有市場驗證 (或忽略),例如一個人的“接受” -belief。
4)共享信念重新確認這種信念線作為多數人尊重的趨勢指標(以市場風險暴露的股權衡量,而不是通過普選投票,人群大喊或CTAs自我推銷的squeeks更少)
上面的USDCAD示例屏幕( 縮小到全尺寸深度視圖的新窗口)反映了所有這些,並且添加了一些基本事件的實例,這些實例是在技術起草(定量支持的)主要吸引器“引入”之后引入的,顯示流動的現實生活的一部分稱為外匯交易。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.