국내주식 전략 연구 및 테스트 플랫폼

Smart Quant

정의 편집

새 전략

전략 편집

새 전략 산술식 작성 중 시점별 모집단
실행 기본값
수식 조건 설정 목표 비중 · 종목 선정 · 매수/매도
종목 선정 필터

줄마다 조건을 입력하거나 and/or 연결식을 여러 줄로 나눌 수 있습니다. 입력 줄바꿈은 저장되며 실행할 때만 한 식으로 정규화합니다. # 뒤 설명은 주석입니다.

종목 선정 점수

한 줄에 JSON 객체 하나씩 입력합니다.

매수 조건

and/or 연결식은 여러 줄로 입력할 수 있습니다. 입력 줄바꿈은 저장되며 실행할 때만 한 식으로 정규화합니다. # 뒤 설명은 주석입니다.

매도 조건

and/or 연결식은 여러 줄로 입력할 수 있습니다. 입력 줄바꿈은 저장되며 실행할 때만 한 식으로 정규화합니다. # 뒤 설명은 주석입니다.

정규화된 실행 정의 보기
—

저장 전에 정의 검증을 통과해야 합니다.

정의 작성 도움말

3. 산술식 문법

판단 기준일의 시점 일치 자료만 사용합니다. 종목 코드와 종목명은 식에서 참조할 수 없습니다.

허용 값

값의미단위·사용 단계
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을 사용하면 평가하지 않습니다. 신호는 장 마감 후 판단하고 주문은 다음 거래일 시가에 체결합니다.

실제 저장 자료 실행

백테스트

작업 없음
자료원 smartquant_kospi200 · KRX 원주가 · 시점별 모집단

백테스트 이력

—

실행 이력을 불러오는 중입니다.

최종 자산—
누적 수익률—
고점 이익 반납폭—
최대 낙폭—
체결 건수—

최종 자산 추세

그래프에 마우스를 올리면 해당 날짜의 상세 결과를 표시합니다.
전략 자산 코스피
백테스트 결과가 없습니다.

그래프에 마우스를 올리면 해당 날짜의 선정 종목·현재 보유 종목·체결 내역을 표시합니다.

체결 내역

—
체결일종목구분수량체결가
백테스트 결과가 없습니다.

자산곡선

—
날짜자산현금보유 종목
백테스트 결과가 없습니다.

월별 결과

—
월종료 자산수익률체결
백테스트 결과가 없습니다.