답변완료
요일함수_해외
안녕하세요.
요일함수를 해외선물(S&P500) 시스템식에 적용해보려는데,
dayofweek(bdate) 를 이용해서 메시지로그를 찍어보니, 요일이 생각과 약간씩 틀리는 경우가 있는 것 같습니다. (어떤경우는 맞고 어떤경우는 틀림)
*예시: 2024. 07.06 04:50 이 dayofweek(bdate)값이 5가 나옴(메뉴얼상에 5는 금요일,실제토요일)
2024.06.04 01:20 이 dayofweek(bdate)값이 1가 나옴(메뉴얼상에 1는 월요일임, 실제 화요일)
혹시나 해서 국내선물 시스템식에서 적용해보면, 메뉴얼상의 값과 요일이 일치하는 것을
확인했는데..
해외선물은 뭔가 조정을 해줘야 하는 것인가요?
2024-07-06
645
글번호 181251
시스템
답변완료
검색식 부탁 드립니다
M=macd(기간1,기간2)-eavg(macd(기간1,기간2),기간3);
valuewhen(1,Crossup(M,0) or Crossdown(M,0),C)
지표조건
기간1 12
기간1 26
기간1 9
돌파 조건 종목 검색식
2024-07-08
860
글번호 181248
종목검색
답변완료
함수요청
안녕하세요?
아래 스크립트는 챗GPT에게 질문하여 도출한 것입니다.
예스트레이더로 국내선물 일봉으로 적용할 수 있도록 스크립트 작성 부탁드립니다.
///////////////////////////////////////////////////////////////////////////
[미분을 사용한 주가 분석]
미분을 통해 주가의 변화를 분석할 수 있습니다. 주가를 시간에 대한 함수로 나타내고, 그 함수의 1차 및 2차 미분을 계산함으로써 주가의 변동성과 추세를 이해할 수 있습니다.
1차 미분 (f'(x)): 주가의 변화율, 즉 주가가 시간에 따라 얼마나 빠르게 변하고 있는지를 나타냅니다. 양수이면 주가가 상승하고, 음수이면 주가가 하락합니다.
2차 미분 (f''(x)): 주가 변화율의 변화율, 즉 주가 변화의 가속도를 나타냅니다. 양수이면 주가 상승이 가속되고 있음을, 음수이면 주가 하락이 가속되고 있음을 의미합니다.
3차 함수 계산
주가의 변화를 3차 함수로 모델링하여 분석할 수 있습니다. 3차 함수는 다음과 같은 형태를 가집니다:f(x)=ax3승+bx2승+cx+d
3차 함수는 더 복잡한 주가 패턴을 캡처할 수 있으며, 곡률의 변화를 포함하여 주가의 여러 변동성을 표현할 수 있습니다.
[매매신호 해석]
매수 신호: 1차 미분(변화율)이 음에서 양으로 변하는 지점. 이는 주가가 하락세에서 상승세로 전환되는 시점을 나타냅니다.
매도 신호: 1차 미분이 양에서 음으로 변하는 지점. 이는 주가가 상승세에서 하락세로 전환되는 시점을 나타냅니다.
---------------------------------------------------------------------------------
import yfinance as yf
# NVIDIA 주식 데이터 다운로드
nvda = yf.download('NVDA', start='2022-01-01', end='2023-01-01', progress=False)
nvda['Close'].plot(title='NVIDIA Closing Prices')
import numpy as np
import matplotlib.pyplot as plt
# 종가 데이터를 기반으로 시간 축 생성
x = np.arange(len(nvda['Close']))
y = nvda['Close'].values
# 3차 다항식 피팅
coefficients = np.polyfit(x, y, 3)
polynomial = np.poly1d(coefficients)
# 원본 데이터와 모델링된 데이터 플롯
plt.plot(x, y, label='Original Data')
plt.plot(x, polynomial(x), label='3rd Degree Polynomial', linestyle='--')
plt.legend()
plt.show()
# 1차 및 2차 미분 계산
first_derivative = np.polyder(polynomial, 1)
second_derivative = np.polyder(polynomial, 2)
# 미분 값 계산
y_prime = first_derivative(x)
y_double_prime = second_derivative(x)
# 미분 그래프 플롯
plt.plot(x, y_prime, label='First Derivative')
plt.plot(x, y_double_prime, label='Second Derivative')
plt.legend()
plt.show()
# 매매신호 초기화
buy_signals = []
sell_signals = []
# 매매신호 생성
for i in range(1, len(x)):
if y_prime[i-1] < 0 and y_prime[i] > 0: # 음에서 양으로 변할 때 (매수 신호)
buy_signals.append((x[i], y[i]))
elif y_prime[i-1] > 0 and y_prime[i] < 0: # 양에서 음으로 변할 때 (매도 신호)
sell_signals.append((x[i], y[i]))
# 매매신호 플롯
plt.plot(x, y, label='Original Data')
plt.scatter(*zip(*buy_signals), color='green', marker='^', label='Buy Signal', alpha=1)
plt.scatter(*zip(*sell_signals), color='red', marker='v', label='Sell Signal', alpha=1)
plt.legend()
plt.show()
2024-07-05
816
글번호 181236
시스템
답변완료
수식부탁드립니다
var1 = ma(c,Period/2);
var2 = ma(C,Period);
HMAs= ma(2*var1-Var2,SqRt(Period));
1. 최근 60봉중의 최고가와 최저가간의 변동율이 40%이상이거나 HMAs가 20봉이상 하향하다가 상승전환된게 최근 80봉이내에 2회이상 발생된후 HMAs를 돌파할때의 매수신호수식
2. 첫째, HMAs가 20봉이상 하락하다가 상승전환한후 둘째, 상승추세로 15봉이상 상승하다가하락전환하고, 세째, 하락전환후 10봉이상 하락추세를 형성하고, 하락추세의 HMAs를 시가종가로 돌파할때의 매수신호수식
(첫째, 둘째, 세째의 내용이 순서되로 발생되어야 함)
3. 첫째, HMAs가 20봉이상 하락하다가 상승전환한후(1봉전HMAs값저장) 둘째, 상승추세로 15봉이상 상승하다가하락전환하고, 세째, 하락전환후 10봉이상 하락추세를 형성하고, 하락추세의 HMAs를 시가종가로 돌파할때(시가저장)에 이때의 시가는 첫째에 저장된 1봉전HMAs값보다 낮은 경우에만 발생되는 매수신호수식
이상의 내용에 대한 신호수식을 부탁드립니다
추가질문: 최근 60봉중이라고 할때에 현재봉이 포함되는 건가요?
2024-07-04
843
글번호 181230
검색