판단 기준일의 시점 일치 자료만 사용합니다. 종목 코드와 종목명은 식에서 참조할 수 없습니다.
허용 값
| 값 | 의미 | 단위·사용 단계 |
close | 판단 기준일 종가 | 원/주 · 선정·점수·매수·매도 |
open | 판단 기준일 시가 | 원/주 · 선정·점수·매수·매도 |
high | 판단 기준일 고가 | 원/주 · 선정·점수·매수·매도 |
low | 판단 기준일 저가 | 원/주 · 선정·점수·매수·매도 |
volume | 판단 기준일 거래량 | 주 · 선정·점수·매수·매도 |
volume_value | 판단 기준일 거래대금 합계(거래량 아님) | 원 · 선정·점수·매수·매도 |
market_cap | 판단 기준일 시가총액 | 원 · 선정·점수 |
market_close | 판단 기준일에 공개된 지수 종가 | 지수 단위 · 선정·점수·매수·매도 |
market_open | 판단 기준일에 공개된 지수 시가 | 지수 단위 · 선정·점수·매수·매도 |
held_qty | 판단 시점 실제 보유 수량 | 주 · 매수·매도 |
cash | 예약 금액을 제외한 매수 가능 현금 | 원 · 매수·매도 |
equity | 판단 시점 계좌 순자산 | 원 · 매수·매도 |
entry_price | 현재 포지션의 평균 매수가 | 원/주 · 매수·매도 |
highest_since_entry | 매수 이후 기록한 최고 종가 | 원/주 · 매수·매도 |
profit_protection_price | 활성화 후 낮아지지 않는 보유 이익 보호 가격. 미활성은 0이며 매도식에서 비교한다 | 원/주 · 매수·매도 |
reentry_wait_days | 손실 매도 후 재매수 판단이 허용될 때까지 남은 거래일. 대기 없음은 0 | 거래일 · 매수·매도 |
reentry_cooldown.release_conditions | 최소 대기 후 회복 조건과 기존 매수 조건이 모두 참이면 다음 거래일 조기 재진입 허용. min_days는 1 이상 기본 대기 이하 | 위험 설정 |
holding_days | 현재 포지션의 체결일 포함 보유 거래일 수 | 거래일 · 매수·매도 |
position_value | 현재 보유 수량의 평가금액 | 원 · 매수·매도 |
order_qty | 신호 평가 시 예상 주문 수량. 보유 중이면 전량 매도, 미보유면 가용 슬롯별 균등 배분 매수 기준 | 주 · 매수·매도 |
order_value | 신호일 종가 기준 예상 주문금액(order_qty * close, 비용 제외) | 원 · 매수·매도 |
available_position_slots | 신호 평가 시작 시점의 추가 보유 가능 종목 수. 같은 날 매도 신호는 아직 반영하지 않음 | 종목 수 · 매수·매도 |
target_weight | 목표 보유 비중 수식의 판단일 계산 결과. 0.25는 순자산의 25%를 뜻함 | 비율(0~1) · 매수·매도 |
target_value | 목표 평가금액. equity * target_weight로 판단 기준일 순자산에서 계산함 | 원 · 매수·매도 |
target_qty | 목표 보유수량. floor(target_value / close)로 판단 기준일 종가를 사용해 내림 계산함 | 주 · 매수·매도 |
허용 함수
| 함수 | 계산 의미 | 필요 자료 |
ma(n) | 기준일 포함 최근 n개 거래일 종가의 산술평균 | n개 유효 종가 |
atr(n) | 거래일별 진폭의 기준일 포함 최근 n개 평균 | n개 유효 진폭과 직전 종가 |
return(n) | 기준일 종가 / n거래일 전 종가 - 1 | 두 시점의 유효 종가 |
volume(n) | 기준일에서 n거래일 전의 거래량 | n거래일 전 유효 거래량 |
volume_ma(n) | 기준일 포함 최근 n개 거래일 거래량의 산술평균 | n개 유효 거래량 |
highest(n) | 기준일을 제외한 이전 n거래일 고가 중 최고값 | 이전 n개 유효 고가 |
lowest(n) | 기준일을 제외한 이전 n거래일 저가 중 최저값 | 이전 n개 유효 저가 |
high(n) | 기준일에서 n거래일 전의 고가 | n거래일 전 유효 고가 |
low(n) | 기준일에서 n거래일 전의 저가 | n거래일 전 유효 저가 |
rsi(n) | 기준일 포함 최근 n개 가격변화의 단순 평균 RSI | 현재일 포함 n+1개 유효 종가 |
stddev(n) | 기준일 포함 최근 n개 종가의 모집단 표준편차 | n개 유효 종가 |
market_ma(n) | 기준일 포함 최근 n개 유효 지수 종가의 산술평균 | n개 유효 지수 종가 |
market_return(n) | 지수 종가 / n거래일 전 지수 종가 - 1 | 두 시점의 유효 지수 종가 |
min(a, b) | 두 숫자식 중 작은 값을 반환 | 두 숫자식 |
n은 월 수가 아닌 양의 정수 거래일 수입니다. return(n)은 배당을 제외한 종목 가격수익률입니다. market_return(n)은 입력된 지수 시계열의 수익률이며 종목 수익률이 아닙니다. volume(1)은 직전 거래일 거래량이고 volume_ma(n)은 기준일을 포함합니다. highest(n)·lowest(n)은 기준일을 제외한 과거 n거래일만 사용합니다. RSI는 최근 n개 종가 변화의 단순 평균으로 계산하고, 변동성은 최근 n개 종가의 모집단 표준편차로 계산합니다. 포지션이 없으면 entry_price·highest_since_entry·holding_days는 자료 없음이며 position_value는 0입니다. 목표 보유 비중 수식을 설정하면 target_weight·target_value·target_qty가 함께 계산되고, 새 매수의 order_qty도 목표 수량을 사용합니다. 목표 수량은 판단일 종가로 계산하지만 실제 체결은 다음 거래일 시가에서 현금 한도까지 이뤄집니다. 설정을 생략하면 order_qty·order_value는 가용 슬롯별 균등 배분 예상값입니다. min(a, b)는 두 숫자식 중 작은 값을 반환합니다. 지수 함수도 기준일 이전 자료만 사용하며, 지표 자료 제공일은 available_date로 확인합니다.
허용 연산자
비교: > >= < <= == !=
논리: and or not
산술: + - * /
문자열·속성 접근·배열/사전 접근·임의 함수·거듭제곱·모듈러·Python 코드는 사용할 수 없습니다.
작성 예시
close > ma(20) and ma(20) > ma(60)
return(60) > 0
volume > volume_ma(20) and volume(1) > 0
market_close > market_ma(60) and market_return(20) > 0
return(20) - market_return(20) >= 0.05
held_qty == 0 and available_position_slots > 0 and order_qty > 0 and order_value <= equity * 0.2
target_qty > 0 and target_value <= equity * 0.25
min(0.25, cash / equity) > 0
held_qty > 0 and (close < ma(20) or return(20) < -0.08)
자료가 없거나 지표 이력이 부족하면 0이나 마지막 값으로 채우지 않고 자료 없음으로 처리합니다. 지수 자료는 종목과 같은 판단일 행이 있어야 하며, 지수 시가가 없는 자료에서 market_open을 사용하면 평가하지 않습니다. 신호는 장 마감 후 판단하고 주문은 다음 거래일 시가에 체결합니다.