17
시스템트레이딩 고수되기 (제4강:투자심리와 실전전략) 하이투자증권

시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

시스템트레이딩 고수되기(제4강:투자심리와 실전전략)

하이투자증권

Page 2: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

목차

01 인간은 합리적인가?

전통적 재무이론

행태재무론

진화심리학

02 투자자들의 편향

전망이론

자기과신

기분효과(Disposition effect)

과거의 경험

03 투자의 심리도

04 성공적인 거래의 원칙

심리규율

매매기법

위험관리

05 시장분석

시장분석의 필요성

시장 움직임

추세의 판단

06 실전전략

스토캐스틱 교차전략

변동성 채널돌파 전략

합성전략

청산전략

진입과 필터

진입제한

부록1 : 전략예제식

부록2 : 참고자료

Page 3: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

01 인간은 합리적인가?

q 전통적 재무이론

q 진화심리학

q 행태재무론

ü전통적 재무이론은 사람의 심리적 편견을 무시

ü사람들이 합리적으로 행동한다는 가정을 토대로 부를 극대화하기 위한 방법을 설명

ex) 자본자산가격결정모형(CAPM) 의 가정 – 평균.분산기준 가정, 동질적 미래예측의 가정

차익거래가격결정이론(APT)의 가정 – 투자자들은 위험 회피적이다.

ü행태재무론은 사람의 심리적 편견을 인정

ü특정한 상황에서 사람들의 심리가 재무심리결정이나 금융시장에 어떤 영향을 미치는지 연구

ex) 카네만(Kahneman)은 1979년 전망이론을 통해 투자자는 위험회피(Risk Aversion)보다는 손실

회피성향(Loss Aversion)을 보인다고 주장

ü행동주의 심리학은 인간의 본성이 학습에 의해 형성된다고 주장

ü진화심리학은 인간은 타고난 본성이 있으며, 이 본성은 자연선택과 환경적응의 산물로 봄

ü진화 시간의 지연 때문에 환경적응이 최적의 산물은 아님(석기시대의 뇌를 갖고 사는 현대인)

ü두뇌는 분석 시간을 단축하기 위해 간편한 방법이나 감정적 여과장치를 통해 정보를 처리

(덤불의 들썩임, 부정적 추론과 추상적 추론의 어려움)

ü이성을 상대로 줄기차게 투쟁해온 감정은 결코 이성에 굴복하지 않았고, 앞으로도 그럴 것이다.

(구스타브 르봉, 군중심리)

Page 4: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

02 투자자들의 편향(1)

q 전망이론ü불확실한 상황에서 사람들이 어떻게 의사결정을 체계화 하는지 설명

ü준거점을 기준으로 이익이 발생하는 구간에서는 위험회피성향을 보여 악재에 민감하게 반응을 하지만,

손실구간에서는 위험선호현상을 보이며 악재에 둔감하게 반응

ü많은 투자자들이 수익을 작게 실현하고 손실을 크게 키우는 현상인 기분효과(Disposition Effect)를 보

이는 주된 이유 중의 하나로 지목되는 이론

v 전망이론의 가치함수

1) 수익이 커지면 초기에는 효용이 큰 폭으로 증가하지만,

일정 수준 이상을 넘어서게 되면 추가적인 수익으로 인해

느끼는 가치의 증가는 크지 않다. 즉, 리스크 대비 수익이

상대적으로 만족스럽지 못하기 때문에 리스크에 민감하게

반응

2) 손실이 발생하면 초기에는 투자자들이 느끼는 가치의

감소가 크지만 일정 수준 이상을 넘어가는 손실이 발생을

하면 ‘마음 속에서 포기’하는 현상이 나타나며 추가적인 손

실로 인해 느껴지는 가치의 감소가 작아지게 된다. 즉, 부

담하는 리스크 대비 손실이 작게 느껴진다.

3) 이익구간보다 손실구간에서 그래프 모양이 더 가파르다.

동일 액수의 손실 고통이 이익의 기쁨보다 두 배 크다. 즉

이익포지션과 손실포지션을 다른 자세로 취급한다.

Page 5: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

q 자기과신(Overconfidence)

02 투자자들의 편향(2)

ü자신의 지식을 과대평가, 위험을 과소평가, 자신의 통제력을 과대평가 하는 문제

ü정보가 많을수록 정확도가 높아진다는 지식착각, 과거의 성공적인 거래, 통제력착각

ü빈번한 거래, 과도한 리스크(고위험 종목, 높은 레버리지, 과소한 분산투자), 잘못된 종목 선택의 결과 발생

ü사람은 후회할 행동은 피하고 자부심을 느낄 행동을 추구

ü후회에 관해서는 작위 후회를 부작위 후회보다 크게 느낌(남 탓하게 되는 이유)

ü이익 종목(포지션)을 너무 일찍 처분하고 손실종목을 너무 오래 보유(세프린, 스태트먼)

üA종목은 매수후 20% 수익, B종목은 매수 후 20% 손실 어떤 종목을 팔 것인가?

ü연구에 따르면 이익 처분 종목은 다음해에 시장수익률보다 높고, 손실 보유 종목은 시장수익률 보다 낮음

q 기분효과(Disposition Effect)

q 과거의 경험ü이익을 얻은 경험이 있으면 이익을 보다 많이 부담, 손실 경험이 있으면 위험을 회피 하려함

(리처드 테일러와 에릭존슨)

ü공돈효과(House-Money Effect) : 이익을 보고 나면 위험을 보다 많이 부담 하려 함

ü위험회피(Snake-Bite) : 손실을 경험한 이후에는 다음의 게임을 거부 함

ü본전찾기 효과(trying-to-break-even effect) : 손실 이후에 대부분은 배판내기(Double-or-

Nothing)의 게임의 위험을 감수

ex) 경마장 도박, 주식에서 옵션, ELW등 레버리지 높은 종목으로 이동)

Page 6: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

03 감정적 거래의 심리도

희망 욕심 탐욕공포 두려움 불안

손실 수익

망설임혼란의심

분노,복수심, 후회, 절망

조급함성급함흥분

자기과신

합리화, 정당화, 변명

부족함을 채우기 위한 본능진화적 적응, 불확정성, 무지

손익

감정

원인

표출형태

극복시장의 실체에 관한 이해 마음을 비우는 거래

모든 거래의 책임은 자기한테 있음을 인정

결과 객관적 분석 및 판단 능력 상실, 수익 기회의 상실, 과도한 리스크 부담

Page 7: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

04 성공적인 거래의 원칙

q 심리규율

q 매매기법

q 위험관리

매매기법

자금관리 위험관리

심리규율

ü인간은 이성과 감정이 공존하지만, 불확실한 상황에서 감정적인 판단이 이성에 우선 함

ü감정(두려움, 탐욕)거래는 수익의 기회를 잃게 하고, 과도한 리스크에 노출

ü성공적인 거래는 심리 규율이 핵심이지만, 감정통제는 현실적으로 어려움

ü시스템트레이딩이 도움이 될 수 있음

ü추세를 따르는 매매

승률은 낮고, 평균손익비가 높음

역사적으로 추세매매에서 장기적인 수익 발생

ü손실은 짧게, 수익은 길게

ü위험은 미래수익의 불확실성을 의미, 현실적으로는 미래에 발생할 수 있는 손실 가능성을 의미

ü거래의 손실 관리 : 1회의 거래 - 손절매(stop loss), 수회의 거래 -최대손실폭(MDD)

ü손익의 변동성 관리 : 1개의 전략 선택 ? 연평균손익, 최대손실폭, 샤프지수 등으로 평가 후 선택

N개의 전략 선택 ? 샤프지수 > 상관계수 순으로 평가 후 선택

ü포트폴리오 : 시장, 전략, 시간주기의 포트폴리오

ü시스템의 중지, 재개, 폐기

Page 8: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

05 시장분석

q 시장 분석의 필요성ü시장움직임은 끊임없이 변화하는데, 일시적인 변화와 본질적인 변화로 구분

ü현재의 시장움직임과 시스템을 분석하여 이상 유뮤 판단

ü전략의 수정, 매매실행의 중지, 재개, 폐기 여부를 결정

ü추세 : 시장이 방향성 있게 움직이는지 여부(시가-종가)

ü변동성 : 사이클 진폭의 폭이 큰지 여부(고가-저가)

ü사이클 : 고점과 저점의 형성 주기

q 시장 움직임

ü 추세의 판단Plot1(ma(abs(O-C),20), "시가종가폭"); 변동성의 판단 //일봉

ü 변동성판단plot1(std(log(c/c[1]),20) * sqrt(250) * 100,"역사적변동성"); //일봉Plot1(ma(H-L,20), "고저변동성"); //일봉

ü사이클의 판단input : Length(10); //5분봉var : count(0);if date!= date[1] then count = 0;if swinghigh(1,H,Length,Length,dayindex+1) == H[Length] Then

count = count + 1;plot1(count);

q 시장 움직임 판단

Page 9: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

06 실전전략(1)

q 스토캐스틱 교차전략ü설정 : 5분봉, 당일청산, 수수료0.01%, 슬리피지0.03ptü전략 : K선이 D선 상향돌파 할 때, K가 D보다 크고 K선과 D선이 일정범위 이내에서 OS가 3연속 상승,

K선이 D선보다 크고 현재가가 시초가 + N값보다 크면 매수ü단점 : 평활 지표의 후행성, 교차가 연속될 때 잦은 휩소 신호, 시장 움직임에 손익의 영향을 많이 받음

Page 10: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

06 실전전략(2)

q 변동성 채널돌파 전략Ø설정 : 10분봉, 당일청산, 거래비용:수수료0.01%, 슬리피지0.015ptØ전략 : 변동성채널 상향 돌파시 매수, 변동성채널 하향이탈시 매도

시초가와 상(하)단채널의 중간선 돌파시 청산, 장중 중앙값 돌파시 청산, 스토캐스틱 청산Ø단점 : 시장의 추세의 의존적임

Page 11: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

06 실전전략(3)

q 합성전략Ø 설정 : 5분봉, 당일청산, 거래비용:수수료0.01%, 슬리피지0.03ptØ 전략내용 : 피봇추세+ 피봇역추세+CCI역추세+지수이평추세+일목균형추세

Page 12: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

06 실전전략(4)

q 청산전략ü기본 시스템 로직에 의한 청산ü추세전략의 청산 : ATR Trailing Stop (ATR승수 : 3~7)ü역추세전략의 청산 : profit target stop, 채널도달 stopü수익보전 stop : Big profit 발생 후 trailing stop, 채널도달 후 채널이탈 stopüstop loss (1p ~ 2p)

üTR계산

Max(|1-2|, |1-3|, |2-3})

üATR계산

ma(TR*N,30)

üATR청산의 특징

1) 청산시점의 최적화 가능

2) 변동성을 이용하여 청산의 완급 조절

3) 일간갭을 반영하기 때문에 장초반

스탑 범위가 넓음

ü청산식input : ATRLength(30), mult(4);If Marketposition == 1 Then

exitlong("chandStop", atstop, Highest(High,barsSinceEntry +1) - ATR(ATRLength)*mult);If Marketposition == -1 Then

exitlong("chandStop", atstop, Lowest(Low,barsSinceEntry +1) + ATR(ATRLength)*mult);

q ATR청산 전략

Page 13: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

06 실전전략(5)

q 진입과 필터ü지표에 의한 필터(스토캐스틱과 macd, 호가잔량… )üSetup->entry에 의한 필터ü타주기 참조에 의한 필터(5분봉 매매를 하면서 30분봉, 일봉 등을 필터로 이용)ü종목외 데이터를 필터로 이용(연결선물 매매하면서 종합지수, 주체별매매동향)

호가잔량 필터 적용전(선물,10분, 당일청산) 필터적용 후

if dayindex == 0 then {if C > O and bids > asks then buy();if C < O and bids < asks then sell();

}

if dayindex == 0 then {if C > O then buy();if C < O then sell();

}

Page 14: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

06 실전전략(6)

#당일 1회로 진입횟수 제한Condition1 = accumN(iff(MarketPosition<>0,1,0),dayindex+1) <> 0;if Condition1 == false Then {

if Close > Open Then buy();if Close < Open Then sell();

}

#당일 매수매도 각 1회씩 제한Condition1 = accumN(iff(MarketPosition==1,1,0),dayindex+1) <> 0;Condition2 = accumN(iff(MarketPosition==-1,1,0),dayindex+1) <> 0;if Condition1 == false Then {

if Close > Open Then buy();}if Condition2 == false Then {

if Close < Open Then sell();}

#당일 N회로 진입횟수 제한input : entryCount(2);var : CurrentEntryNum(0),entryCnt(0) ;if date<>date[1] Then {

EntryCnt = TotalTrades;}CurrentEntryNum = iff(marketposition == 0,TotalTrades, TotalTrades+1 );if CurrentEntryNum-EntryCnt < entryCount then {

if Close > Open Then buy();if Close < Open Then sell();

}

#직전포지션과 반대로만 진입허용Condition1 = iff(marketposition == 0,date==entrydate(1), date==entrydate(0) ) and

iff(marketposition == 0,marketposition(1)==1, marketposition(0)==1 ); Condition2 = iff(marketposition == 0,date==entrydate(1), date==entrydate(0) ) and

iff(marketposition == 0,marketposition(1)==-1, marketposition(0)==-1 );if Condition1 == false Then { if Close > Open Then buy();}if condition2 == false Then { if Close < Open Then sell();}

q 진입 제한#시간제한if stime > 93000 and stime < 143000 Then {

if Close > Open Then buy();if Close < Open Then sell();

}

Page 15: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

부록1 : 전략 예제식#스토캐스틱교차input : p1(50), p2(40), p3(30), stoRange(5), chnnel(1);var : stoK(0), stoD(0), osill(0);stoK = StochasticsK(p1,p2);stoD = StochasticsD(p1,p2,p3);osill = stoK-stoD;if CrossUp(stoK, stoD) Then buy();if CrossDown(stoK, stoD) Then sell();if stoK > stoD && osill < stoRange && accumN(iff(osill>osill[1],1,0),3)==3 Then buy();if stoK < stoD && osill > -stoRange && accumN(iff(osill<osill[1],1,0),3)==3 Then sell();if stoK > stoD && C > dayOpen(0) + Chnnel Then buy();if stoK < stoD && C < dayOpen(0) - Chnnel Then sell();#변동성 채널돌파Input : Value(2.7), P1(36), P2(28), P3(5),StopPer(1); Var: ChUp(0), ChDn(0), slowK(0), slowD(0), Bap(0);setstoploss(StopPer);ChUP = dayOpen()+(DayHigh(1)-DayLow(1))/Value;ChDn = dayOpen()-(DayHigh(1)-DayLow(1))/Value;slowK = stochasticsK(p1,p2);slowD = stochasticsD(p1,p2,p3);bap = (dayLow()+dayhigh())/2;if CrossUp(slowK, slowD) then {var1 = C;var5 = 1;}if CrossDown(slowK, slowD) then {var2 = C;var6 = 1;}#buy/sellif dayindex()==0 then {if H >= ChUP then buy(); if L <= ChDn then sell(); var5 = 0; var6 = 0;}if C > (chUP+ChDn)/2 and accumN(iff(H>=ChUp,1,0),dayindex()+1)==0 and stime<143000 then buy("Buy",atstop,ChUP);if C < (chUP+ChDn)/2 and accumN(iff(L<=ChDn,1,0),dayindex()+1)==0 && stime<143000 then sell("Sell",atstop,ChDn);#exitlongif slowK < slowD and stime>=100000 and var6 == 1 then exitlong("EL1", atstop, var2-0.01);if stime <= 100000 and marketposition(0)==1 then exitlong("EL2",atstop,L[dayindex()]);if stime >=100000 and marketposition(0)==1 then {exitlong("EL3",atstop,(dayOpen()+(ChUp))/2);exitlong("EL4",atstop,bap);}if stime == 145000 then exitlong("EL5"); //exitshortif slowK > slowD and stime>=100000 and var5 == 1 then exitshort("ES1", atstop, var1+0.01);if stime <= 100000 and marketposition(0)==-1 then exitshort("ES2",atstop,H[dayindex()]);if stime >= 100000 and marketposition(0)==-1 then { exitshort("ES3",atstop,(dayOpen()+(ChDn))/2);exitshort("ES4",atstop,baP);}if stime == 145000 then Exitshort("ES5");

#합성전략Var : PP(0), PR1(0), PR2(0), PS1(0), PS2(0), Sp(40), Lp(350), emaShort(0), emaLong(0), pivot_idx(22), pivot_CH(0.3),ilmokIdx(15), ilmokX(14), ilmok1(0), ilmok2(0), ilmok3(0), sunhang1(0), sunhang2(0),

CCILen(50), CCICH(100), mult(1),CCIvalue(0), bcnt(0), scnt(0);

setstoploss(1.6, pointstop);#피봇역추세if dayindex() ==0 then {PP = (DayHigh(1)+DayLow(1)+DayClose(1))/3;

PR1 = 2*PP-DayLow(1); PR2 = PP+DayHigh(1)-DayLow(1);PS1 = 2*PP-DayHigh(1); PS2 = PP-DayHigh(1)+DayLow(1); }

if stime < 140000 then {if CrossUp(C, Ps1) and bids > asks then buy("PPrev_B"); if CrossDown(C, Pr1) and bids < asks then sell("PPrev_S");}#CCI역추세if date != date[1] then {bcnt = 0; scnt = 0;}CCIvalue = CCI(CCILen);If CrossUp(CCIvalue,-CCICH) and bids > asks and bcnt == 0 Then {buy("CCIrev_B");bcnt = bcnt + 1;}If CrossDown(CCIvalue,CCICH) and bids < asks and scnt == 0 Then {sell("CCIrev_S"); scnt = scnt + 1;}if barssinceEntry(0) > 0 then { if isEntryname("CCIrev_B") and L == dayLow(0) then exitlong("CCI_EL");if isEntryname("CCIrev_S") and H == dayhigh(0) then exitshort("CCI_ES");}#지수이평추세emaShort = ema(C, sp); emaLong = ema(C, lp);if CrossUp(emaShort, emaLong) and bids > asks then buy("ema_B");if CrossDown(emaShort, emaLong) and bids < asks then sell("ema_S");#피봇추세if dayindex() <= pivot_idx then { if C > PR2 and bids > asks then buy("PP_B"); if C < pS2 and bids < asks then sell("PP_S");}if isEntryname("PP_B") and CrossDown(C, PR2-pivot_CH) then exitlong("PP_ES");if isEntryname("PP_S") and CrossUp(C, PS2+pivot_CH) then exitshort("PP_EL");#일목균형추세ilmok1 = (highest(H,ilmokX)+lowest(L,ilmokX))/2;ilmok2 = (highest(H,ilmokX*3)+lowest(L,ilmokX*3))/2;ilmok3 = (highest(H,ilmokX*3*2)+lowest(L,ilmokX*3*2))/2;sunhang1 = (ilmok1+ilmok2)/2 ;// "선행스팬1"sunhang2 = ilmok3; // "선행스팬2"if dayindex() == ilmokIdx+1 then {if accumN(iff(C > max(sunhang1, sunhang2),1,0),ilmokIdx) == ilmokIdx and bids > asks then buy("ilmokB"); if accumN(iff(C < min(sunhang1, sunhang2),1,0), ilmokIdx) == ilmokIdx and bids < asks then sell("ilmokS"); }if isEntryname("ilmokB") and CrossDown(C, max(sunhang1, sunhang2)) then exitlong("ilmok_EL");if isEntryname("ilmokS") and CrossUp(C, min(sunhang1, sunhang2)) then exitshort("ilmok_ES");

Page 16: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

부록2 : 참고자료

 http://www.elitetrader.com/tr/

 http://traderclub.com/discus/messages/107/107.html

 http://www.mediafire.com/?fdxyinjzzdz

금융시장예측, 김성우http://trader.online.pl/ELZ/!-ELZ-index.html

기타

선물투자기법, 장재건외http://blog.naver.com/pillion21

데이트레이더의 완성, 잭번스타인http://blog.naver.com/nahos/

기술적분석없이 주식투자하지마라, 잭슈웨거http://myblog.moneta.co.kr/mirfak

시스템 트레이딩 가이드, 정영근, 한국경제신문http://blog.naver.com/chartist

블로그

한국형 시스템트레이딩 실전전략, 강수철http://cafe.naver.com/systemania.cafe

7TH 감각 시스템 트레이딩, 김승용외, 대신경제연구소http://cafe.daum.net/MyTrader

기술적분석지표를 이용한 시스템 트레이딩, 김정영, 진리탐구http://cafe.naver.com/sysmetic

카페

인베스트라,강수철 김희철, 범한서적http://www.fntec.com/fntec

사이버시대의 거래기법 시스템 트레이딩, 김정영

서적

www.hi-ib.comwww.yesstock.com

하이투자증권예스스탁

Page 17: 시스템트레이딩고수되기 - hi-ib.com · 매매기법 위험관리 05 시장분석 시장분석의필요성 시장움직임 추세의판단 06 실전전략 스토캐스틱교차전략

수고 하셨습니다!