This commit is contained in:
dosangyoon
2022-09-04 00:32:43 +09:00
parent 4a27e64b6f
commit 2d40f4e5be
5 changed files with 94 additions and 390 deletions

View File

@@ -26,14 +26,18 @@ class IchimokuCloud:
# 당일을 포함한 26일 동안의 최고가와 최저가의 중간 값을 평균으로 나타낸다.
baseLine = (df.high.rolling(b).max() + df.low.rolling(b).min()) / 2
# 3. 행스팬 1 = ((기준선 + 전환선) / 2)를 26일 선행하여 배치
# 3. 행스팬 = 현재 close가격의 26일전 반영
laggingSpan = [df.close.values[i+26] for i in range(len(df.close)-26)]
laggingSpan += [df.close.values[len(df.close)-1] for i in range(26)]
# 4. 선행스팬 1 = ((기준선 + 전환선) / 2)를 26일 선행하여 배치
# 전환선과 기준선의 평균값을 구해 당일 포함 26일 앞으로 이동시킨 선 (중-단기 구간의 힘을 보여줌)
leadingSpan1 = (changeLine + baseLine) / 2
move_LeadingSpan1 = list(leadingSpan1.values)
for i in range(b - 1):
move_LeadingSpan1.insert(0, None)
# 4. 선행스팬 2 = ((최근 52일 동안 최고가 + 최저가) / 2)를 26일 선행하여 배치
# 5. 선행스팬 2 = ((최근 52일 동안 최고가 + 최저가) / 2)를 26일 선행하여 배치
# 당일을 포함한 52일 동안의 최고가와 최저가의 평균을 26일 앞으로 이동시킨 선 (장기으로 형성된 선이기 때문에 가장 느리게 변함)
leadingSpan2 = (df.high.rolling(l).max() + df.low.rolling(l).min()) / 2
move_LeadingSpan2 = list(leadingSpan2.values)
@@ -70,7 +74,7 @@ class IchimokuCloud:
move_LeadingSpan1.append(None)
# dataframe에 컬럼 추가
df = df.assign(changeLine=pd.Series(move_changeLine), baseLine=pd.Series(move_baseLine), leadingSpan1=pd.Series(move_LeadingSpan1), leadingSpan2=pd.Series(move_LeadingSpan2))
df = df.assign(changeLine=pd.Series(move_changeLine), baseLine=pd.Series(move_baseLine), laggingSpan=pd.Series(laggingSpan), leadingSpan1=pd.Series(move_LeadingSpan1), leadingSpan2=pd.Series(move_LeadingSpan2))
return df
@@ -98,7 +102,11 @@ class IchimokuCloud:
stock['PRICE'][i]['ichimokucloud_baseLine'] = df.baseLine.values[i]
stock['PRICE'][i]['ichimokucloud_leadingSpan1'] = df.leadingSpan1.values[i]
stock['PRICE'][i]['ichimokucloud_leadingSpan2'] = df.leadingSpan2.values[i]
for i in range(len(df.changeLine)-diff):
if i < len(df.changeLine)-diff-26:
stock['PRICE'][i]['ichimokucloud_laggingSpan'] = stock['PRICE']['close'][i + 26]
else:
stock['PRICE'][i]['ichimokucloud_laggingSpan'] = -1
return