Microsoft Word - 제 4 장.doc

Similar documents
<4D F736F F D20C1A C0E55FC3DFBCBCBCB12CC1F6C1F62CC0FAC7D7BCB120C0FCB7AB2E646F63>

<4D F736F F D20C1A C0E55FBCF6B7C5B5B9C6C4C0FCB7AB2E646F63>

시스템 트레이딩이란?

제5강 스톡캐스틱 ,MACD 활용법

Microsoft Word - daily_dynamics_주식시장_투자전략 doc

제7강 볼린져밴드 엘리어트파동 활용법

Microsoft Word - 제 7 장.doc


Microsoft Word _Technicalview_June_4week.doc

PowerPoint 프레젠테이션

<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>

~

기업분석(Update)

펀드명 : 삼성 vul 혼합형 공시일 : 계약금액 ( 단위 : 백만원 ) 구분 거래대상 거래유형 매수 (1) 매도 (2) 순포지션 (1-2) 비고 신규 유가증권 선물 장내 누계 유가증권 선물 7,398 1,107 6,291 장내 합계

Microsoft Word _Technicalview_Febrary_3week.doc

Microsoft PowerPoint - Ch8

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

<4D F736F F D20C0CEB9F6BDBA32585FB1DD5FBCB1B9B05F45544E5FB1E2C3CAC1F6BCF6B9E6B9FDB7D E646F6378>

중간고사

C# Programming Guide - Types

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

<C1F5B1C7C5F5BBF3C0CFC0CFC6AFB0AD5FB1E2BCFAC0FBBAD0BCAE5FC3D6B9DABBE75F3036C7CFB9DDB1E22E687770>

PowerPoint 프레젠테이션


OCW_C언어 기초

statistics

Microsoft Word Daily1.doc

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

실험 5

PowerPoint Presentation

(001~006)개념RPM3-2(부속)

2

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

제 3강 역함수의 미분과 로피탈의 정리

Microsoft PowerPoint - Java7.pptx

Microsoft Word _Technicalview_May_4week.doc

<4D F736F F D20B1B9C3A4BCB1B9B020C7F2C1F6C0FCB7AB205F315F20BCF6C1A420B5E0B7B9C0CCBCC7C0BB20C0CCBFEBC7D120B8C5B5B5C7F2C1F620BCBAB0F

온습도 판넬미터(JTH-05) 사양서V1.0

설계란 무엇인가?

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

Java ...

(Microsoft PowerPoint - Ch19_NumAnalysis.ppt [\310\243\310\257 \270\360\265\345])

= ``...(2011), , (.)''

Microsoft Word - LAB_OPamp_Application.doc

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE Mar.; 28(3),

PowerPoint Presentation

(b) 미분기 (c) 적분기 그림 6.1. 연산증폭기연산응용회로

Microsoft Word - SK Daily_0906_.doc

<4D F736F F F696E74202D2038C0E520C1F5B1C7C0C720B1E2BCFAC0FB20BAD0BCAE205BC8A3C8AF20B8F0B5E55D>

Microsoft PowerPoint - chap06-1Array.ppt

제 3 장평활법 지수평활법 (exponential smoothing) 최근자료에더큰가중값, 과거로갈수록가중값을지수적으로줄여나가는방법 시스템에변화가있을경우변화에쉽게대처가능 계산이쉽고많은자료의저장이필요없다 예측이주목적단순지수평활법, 이중지수평활법, 삼중지수평활법, Wint

Microsoft Word _Technicalview_July_4week

윈도우즈프로그래밍(1)

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

Microsoft Word _CFTC분석

Structure and Interpretation of Computer Programs: Assignment 3 Seung-Hoon Na October 4, George (아래 3개의 문제에 대한 구현이 모두 포함된 george.rkt파일을 제출하시오.

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word _semicon_comment_final.doc

REVIEW CHART

Microsoft Word - LectureNote.doc

슬라이드 1

* pb61۲õðÀÚÀ̳ʸ

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

Microsoft PowerPoint - e pptx

Microsoft PowerPoint - chap04-연산자.pptx


B _00_Ko_p1-p51.indd

슬라이드 1

= " (2014), `` ,'' .." " (2011), `` ,'' (.)"

04 Çмú_±â¼ú±â»ç

제 1 편 투자론의 기초 제 1 장 투자론의 개요

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

확률 및 분포

Microsoft PowerPoint 상 교류 회로

Stock Futures Summary 종목명 현재가 (원) 등락률 (%) 거래량 (계약) 미결제 (계약) 이론가 (원) 베이시스 (원) SK 하이닉스 F 2165 ( 1) 29, ,593 69,33 29,171 1 삼성 SDS F 2165 ( 1) 1

PowerPoint 프레젠테이션

FGB-P 학번수학과권혁준 2008 년 5 월 19 일 Lemma 1 p 를 C([0, 1]) 에속하는음수가되지않는함수라하자. 이때 y C 2 (0, 1) C([0, 1]) 가미분방정식 y (t) + p(t)y(t) = 0, t (0, 1), y(0)

제 12강 함수수열의 평등수렴

Microsoft Word _Technicalview_July_2week.doc

제 5강 리만적분

Microsoft PowerPoint - Ch15-1

<4D F736F F F696E74202D2035BBF3C6F2C7FC5FBCF8BCF6B9B0C1FA2E BC8A3C8AF20B8F0B5E55D>

Tablespace On-Offline 테이블스페이스 온라인/오프라인

Microsoft Word - logic2005.doc

Stock Futures Summary 종목명 현재가 (원) 등락률 (%) 거래량 (계약) 미결제 (계약) 이론가 (원) 베이시스 (원) 한국항공우 F ( 10) 75, ,943 12,693 75, 한국전력 F (

제 53 회서울특별시과학전람회 예선대회작품설명서 본선대회작품설명서 쓰나미의피해를최소화시키는건물과 건물배치에대한탐구 출품번호 S-504 출품분야학생부출품부문지구과학 학교명학년 ( 직위 ) 성명


장연립방정식을풀기위한반복법 12.1 선형시스템 : Gauss-Seidel 12.2 비선형시스템 12.1 선형시스템 : Gauss-Seidel (1/10) 반복법은초기근을가정한후에더좋은근의값을추정하는체계적인절차를이용한다. G-S 방법은선형대수방정

Microsoft Word MetOne237Bmanual

슬라이드 1

<4D F736F F F696E74202D B3E234BFF920B1E2BCFAC0FBBAD0BCAE20C6C4BFF6C6F7C0CEC6AE E616C292E707074>

Microsoft Word _Technicalview_August_5week.doc

고객관계를 리드하는 서비스 리더십 전략

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

Ⅰ Ⅱ ? ? Ⅲ Ⅳ

Microsoft PowerPoint - additional01.ppt [호환 모드]

슬라이드 제목 없음

PowerPoint 프레젠테이션

Transcription:

제 4 장진입전략 투자의핵심원칙 : 저가매수, 돌파확인진입 (Low Risk Entry, Break Out Entry) 진입전략은언제시장에신규매수, 매도하느냐를결정하는방법이다. 앞서설명한 RangeBreak 전략은시가에전일변동폭의일정부분을더하거나뺀가격대를돌파하면시장에진입하는방법이다. 이러한형태의전략을일반적으로돌파 (breakout) 전략이라한다. 즉추세가형성되는것을확인하고시장에진입하는형태이다. 돌파전략은역시추세추종적인매매방법이다. 앞서설명한또다른유형중에서패턴인식전략, 변동성확대전략도광의의추세추종적인방법에속한다. 상당히다른유형의전략으로는역추세 (anti trend, counter-trend) 추종적인매매전략이있다. 즉저가매수, 고가매도전략형태를말한다. 하지만진정한의미의역추세추종적인전략은잘사용되지않는다. 예를들어스토케스틱이 30이하로하락하면매수하는전략의경우, 다행히 30이하에서바로전환되면모를까그렇지않는경우에는위험이상당히커지는매매전략이기때문이다.

따라서역추세추종적인매매전략이란현재진행중인추세가약화되고반대추세로발달할가능성이있는시점에서진입하는저가매수, 고가매도전략을말한다. 스토케스틱의경우에는다음과같은형태로진입하게되면저가매수진입전략이된다. 스토케스틱이 30 이하에서상승전환하고, 연속 3 양봉이발생하면매수 이러한저가매수, 고가매도의역추세추종적인전략은사용빈도가높다. 왜냐하면돌파전략보다심리적거부감이적고, 진입위험도상당히적은편이기때문이다. 이동평균선을이용한많은매매전략이있는데이러한전략들은크게두가지분류로구분된다 ( 매수기준 ). 돌파매수형태 : 이동평균선상향돌파매수 저가매수형태 : 이동평균선이상승하고있고가격이이동평균선위에서되돌림 ( 예 : 3일저가형성 ) 이발생하고다시상승할때매수 눌림목매수, 되돌림매수 대부분의진입전략들은기술적분석에근거한다. 왜냐하면계량화 (Quantitative) 가가능하기때문이다. 가격, 거래량, 매매동향, 기술적지표들이모두사용가능하다. 이책에서는 6가지의기술적분석분야별로진입전략을제공할것이다. 1. 돌파전략 2. 수렴돌파전략 3. 추세선, 지지 / 저항선분석전략 4. 모형분석 (geometric pattern) 전략 5. 패턴분석 (pattern) 전략 6. 기술적지표를이용한전략 2

이장에서제공되는진입전략들의조건은다음과같다. 전략유형및대상 : 데이트레이딩전략, 선물 10분차트 매매계약수 : 1계약매매 ( 자산관리전략제외 ) 청산전략 : 단순한청산전략사용 필수적으로보유해야할바수 : 초기값 100, 슬리피지 1틱 수수료 : 대신증권 HTS수수료기준 테스트기간 : 2000년 1월 4일 ~2003년 9월 30일 제공되는전략은다양한기술적분석방법을이용하는매매전략의기초이므로직접작성해보기를권장한다. 또한진입제어, 시간대최적화, 청산전략, 자산관리전략등을다양한형태로변형해보고, 이런과정을통해서자신의자산규모나매매스타일에맞는전략으로완성할것을권한다. 본격적으로진입전략을알아보기전에재진입과진입필터 (filter) 를우선이해하도록하자. 재진입이라고하는것은현재시장에서청산으로수익을획득하였는데, 그후에도동일방향으로가격이진행되어같은방향으로다시진입하는것을말한다. 예를들어아침에매수를한뒤추적스탑으로수익을획득하였으나, 상승추세가계속진행되어퇴출가격이나장중최고점을갱신하면, 다시매수진입을하는것을말한다. 데이트레이딩에서는재진입의필요성이시간적제한때문에적어진다. 하지만일부전략에서는재진입이필요한경우가많으므로기억해둘필요가있다. 두번째로진입필터이다. 진입필터는많이사용되는개념이다. 앞으로설명할전략들에서도많이사용되는데, 앞서 3장에서설명한진입제어방법도일종의필터이다. 여기서필터의종류를정리해보도록하자.

필터유형 < 표 0-1> 필터의종류 내용 가격 ( 시, 고, 저, 종가 ) 의흐름등으로진입을제어 시가보다현재가가크면매수방향 가격필터 전일종가보다시가가크면매수방향 전전일종가보다전일종가가낮으면매수방향 금일최고가가전일고가보다크면매수방향 거래량감소시진입제어 거래량필터 거래량증가시진입 전일거래량보다증가할경우에만진입 거래량이동평균선이증가하면진입 매매횟수제한등 진입방향필터 하루에한번매매 같은방향진입제어 특정시간대매매제어 시간필터 9 시 30 분전, 14,30 분이후진입제어 청산이후일정시간내진입제어 기술적지표를필터로사용 기술적지표필터 이동평균선이상승중일때에는매수만 ADX, DMI 지표가상승전환이거나일정수준이상일때 만진입 변동성축소구간에서매매제어 수렴구간필터 변동성관련지표 (ATR,Range) 가상승전환할때만진입 삼각수렴형패턴이나직사각형패턴이발달하면진입제어 기타수렴패턴진입제어 전략을개발할때필터를자주사용하게되는데이때조심하지않으면과최적화 (over fitting) 의함정에빠질수있다. 예를들어손실이발생한매매건별로문제점을파악하고, 그문제점이하나의매매에국한된경우라도각각의필터를추가하여매매전략을개발하는경우이다. 이럴경우상당히긴코딩이될뿐만아니라실제매매에서는발생하 4

지않거나, 반대현상이발생하는등의문제가있다. 이런현상이과최적화이며과최적화시스템은결국수익을발생하지못하게된다. 따라서필터는최소한으로사용해야하고, 일관되게적용하는것이올바른사용법이다. 그럼이제부터기술적분석의 6가지유형에따른다양한진입전략을살펴보자. 1. 돌파전략 (Break Out Strategy) 데이트레이딩에서는돌파전략형태가일반적이고유용한전략으로평가받고있다. 추세추종적인전략형태로볼수있으며단기지지 / 저항선을이용하여돌파시점을파악하는전략들을의미한다. 앞서설명한 RangeBreak 전략도돌파전략이다. 추가적으로자주사용되는돌파전략을설명하기로한다. (1) Pivot Point 이용 피봇포인트 (pivot point) 를이용하여지지 / 저항선을설정하고이를돌파하는방향으로매매를하는방법이다. 피봇포인트는피봇포인트, 1차저항선, 2차저항선, 1차지지선, 2차지지선등의 5가지로선으로구성되어있다.

피봇포인트 < 표 0-2> 피봇포인트계산식 계산식 2차저항선 피봇포인트 + 전일고가 전일저가 1차저항선 피봇포인트 * 2 - 전일저가 피봇포인트 ( 전일고가 + 전일저가 + 전일종가 ) / 3 1차지지선 피봇포인트 * 2 - 전일고가 2차지지선 피봇포인트 + 전일저가 전일고가 피봇포인트가가장중요한중심선이되고아래위로각각 2개의지지 / 저항선이위치하게된다. 전일의고가, 저가, 종가를이용하여계산한값을금일의지지 / 저항선으로사용하는것이다. 위의식에서변형된다음과같은피봇포인트계산방식도사용된다. 피봇포인트 < 표 0-3> 피봇포인트계산식 ( 변형 ) 계산식 2차저항선 피봇포인트 + 전일고가 전일저가 1차저항선 피봇포인트 * 2 - 전일저가 피봇포인트 ( 전일시가 + 전일고가 + 전일저가 + 전일종가 ) / 4 1차지지선 피봇포인트 * 2 - 전일고가 2차지지선 피봇포인트 + 전일저가 전일고가 < 표 4-3> 은지지 / 저항선계산방법은 < 표 4-2> 와같은반면, 피봇포인트를계산할때전일시가를사용한다는점에서차이가있다. 두가지식모두시가의위치에따라지지 / 저항선이바뀌게되고어느지지 / 저항선을사용하는것이합리적인가를결정해야한다. < 수식 4-1> 은두가지피봇포인트를모두적용할수있도록작성한전략식이다. 6

영역 : 전략 < 수식 0-1> DD_Pivot( 일반 ) 이름 : DD_Pivot( 일반 ) Input: len(3.2), method(1) If method=1 Then Var10 = (HighD(1) + LowD(1) + closed(1)) / 3 ' 피봇 Var11= Var10 * 2 - LowD(1) '1 차저항 Var12= Var10 + HighD(1) - LowD(1) '2 차저항 Var9= Var10 * 2 - HighD(1) '1 차지지 Var8= Var10 - HighD(1) + LowD(1) '2 차지지 Else Var10 = (HighD(1) + LowD(1) + closed(1)+opend(1)) / 4 ' 피봇 Var11= Var10 * 2 - LowD(1) '1 차저항 Var12= Var10 + HighD(1) - LowD(1) '2 차저항 Var9= Var10 * 2 - HighD(1) '1 차지지 Var8= Var10 - HighD(1) + LowD(1) '2 차지지 If Var9 > opend And opend> Var8 Then If TTIME<=1500 Then If position=0 And tdate<>entrydate(1) Then Call buy(" 매수 1", Atstop, Def, Var9) Call sell(" 매도 1", Atstop, Def, Var8) If Var10 > opend And opend>=var9 Then If TTIME<=1500 Then If position=0 And tdate<>entrydate(1) Then Call buy(" 매수 2", Atstop, Def, Var10) Call sell(" 매도 2", Atstop, Def, Var8) end If End if If Var11 > opend And opend>=var10 Then If TTIME<=1500 Then If position=0 And tdate<>entrydate(1) Then Call buy(" 매수 3", Atstop, Def, Var12) Call sell(" 매도 3", Atstop, Def, Var10) If Var12 > opend And opend>=var11 Then

If TTIME<=1500 Then If position=0 And tdate<>entrydate(1) Then Call buy(" 매수4", Atstop, Def, Var12) Call sell(" 매도4", Atstop, Def, Var11) If opend>=var12 Then If TTIME<=1500 Then If position=0 And tdate<>entrydate(1) Then Call buy(" 매수5", Atstop, Def, opend+(var12-var11)) Call sell(" 매도5", Atstop, Def, Var12) If opend<=var8 Then If TTIME<=1500 Then If position=0 And tdate<>entrydate(1) Then Call buy(" 매수6", Atstop, Def, Var8) Call sell(" 매도6", Atstop, Def, opend-(var9-var8)) If position<>0 Then Call exitlong(" 매수청산 ", Atstop, hhv(1, high, barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ", Atstop, llv(1, low, barnumsinceentry+1)+atr(20)*len) 주 ) 신호 DD_Pivot( 일반 ) 도제공됨. 필수적으로보유할바수 : 100 < 수식 4-1> 에서 method = 1일경우에는 < 표 4-2> 의방식으로피봇포인트를계산하고 1이아닐경우에는 < 표 4-3> 의방식으로피봇포인트를계산한다. 매매는시가가형성되는위치에따라서형성되는피봇포인트를이용하며, 매수, 매도의가격대는가까운지지 / 저항선이거나두번째로가까운지지 / 저항선을이용하게된다. 청산은기초적인 ATR청산 (3장가변청산전략참조 ) 을사용하였고매매는하루에한번으로제한하였다. 8

< 그림 0-1> DD_Pivot( 일반 ) 전략 주 ) method=1 적용 < 그림 4-1> 을보면시가가형성된위치에따라매수3, 매수2, 매수3( 원호 ) 이연속적으로발생하였다. 시가의위치에따라저항선이각각다르게형성되며이저항선을돌파하면매수가발생하게된다. 적용결과는 < 표 4-4> 와같다. 두가지전략다유용한결과를보였으며이중방법 2가더욱좋은결과를보였다. 앞서 3장에서설명한바와같이위전략에다양한변형이가능하다. 하루에두번매매를허용한다든지, 청산전략을변경하는등다양한변형에따라다른결과를보일것이다. 더욱이위식에서사용된지지 / 저항선을변경해서더좋은결과를만들어낼수도있을것이다. 그러면이제기초적인피봇전략에다역추세적인진입방법을추가해서또다른피봇전략을만들어보자.

< 표 0-4> DD_Pivot( 일반 ) 전략적용결과 DD_Pivot( 일반 ) DD_Pivot( 일반 ) 평가항목 Method = 1 Method = 2 총손익 68,075.92 71,694.90 평균손익 85.63 90.41 최대손실 -1,349.60-1,071.04 총매매수 795 793 연속이익매매수 6 9 연속손실매매수 7 9 최대자본인하액 -5,762.18-5,399.21 승률 49.81 48.68 손익비 1.49 1.52 평균손익비 1.50 1.61 보상비율 11.81 13.28 변수값 (len1) 3.2, 1 3.2, 2 주 ) 2000년 1월4일 ~ 2003년 9월 30일 주 ) 필수적으로보유해야할바수 : 100, 단위 : 천원, %, 배 1) 피봇역추세전략 위 < 수식 4-1> 의전략식에포지션이있는상태에서가격이일정수준이상을넘어섰을경우에바로반대포지션 ( 예 : 매수포지션보유상태에서매도포지션으로전환 ) 으로전환하는역매매 (Reversal) 전략을추가하는방법을사용한다. 영역 : 전략 < 수식 0-2> DD_Pivot( 역추세 ) 이름 : DD_Pivot( 역추세 ) Input: len(3.2), method(1) 이상 < 수식 4-1> 과동일------------------------------------------------ If tdate<>tdate(1) Then Var50=currententrynum If currententrynum-var50 =1 Then 당일매매가한번이루어진경우 If entryname=" 매수 2" Or entryname=" 매수 3" Then 진입명칭이매수2, 매수3인경우 If highd>var12 And low>var11 Then 10

Call sell(" 역매도 ", Atstop, Def, Var11) If entryname=" 매도 2" Or entryname=" 매도 3" Then 진입명칭이매도2, 매도3인경우 If lowd<var8 And high<var9 Then Call buy(" 역매수 ", Atstop, Def, Var9) < 수식 4-2> 는 < 수식 4-1> 에역추세진입전략을추가하였다. 매매횟수는하루에한번진입에역추세를한번만진입하는방법을사용하였고, 역추세는매수2, 매수3 의경우에만역매도전략을사용하고매도2, 매도3 에서만역매수전략을구사하게된다. 적용한그림은다음과같다. < 그림 0-2> DD_Pivot( 역추세 ) 주 ) method = 1 적용

< 그림 4-2> 를보면피봇돌파로인한매수2가발생하였으며매수청산이발생하기전에역매도가발생하였다. 종가청산으로두번매매모두수익이발생한경우이다. 위와같이역매도가발생하는전략을추가하였을때의테스트결과를보자. < 표 0-5> DD_Pivot( 역추세 ) 전략적용결과 평가항목 DD_Pivot( 역추세 ) DD_Pivot( 역추세 ) Method = 1 Method = 2 총손익 73,143.87 70,680.26 평균손익 89.97 87.58 최대손실 -1,349.60-1,654.70 총매매수 813 807 연속이익매매수 6 9 연속손실매매수 6 8 최대자본인하액 -5,762.18-5,683.29 승률 50.06 48.70 손익비 1.52 1.51 평균손익비 1.51 1.59 보상비율 12.69 12.44 변수값 (len, method) 3.2, 1 3.2, 2 주 ) 단위 : 천원, %, 배 테스트결과방법 1은위험구조가직전의 DD_Pivot( 일반 ) 과비슷한반면총손익이증가하는효과를나타내었다. 반면방법 2의경우에는최대손실이증가하고총손익이소폭감소하여역추세진입효과가없다는것을알수있다. 역추세를모든진입에사용하거나, 다른청산전략을사용하는등의다양한변형이가능하다. 그럼이제부터더큰변화를시도해보자. 2) 피봇전략의다른변형 피봇자체가지지 / 저항선을역할을하는선이라는개념을이용하여앞서설명한 DD_RangeBreak 전략과마찬가지로시가에서피봇을이용한지지 / 저항선을작성하는전략을생각할수있다. 즉전일의변동폭이오늘의지지 / 저 12

항선으로사용되는것이아니고전일가격움직임으로계산된피봇및지지 / 저항선의폭을이용해서매매하는전략이다. 영역 : 전략 < 수식 0-3> DD_Pivot( 변경 ) 이름 : DD_Pivot( 변경 ) Input: len(2.7), method(1), len1(0.64) If method=1 Then Var10 = (HighD(1) + LowD(1) + closed(1)) / 3 ' 피봇 Var11= Var10 * 2 - LowD(1)'1차저항 Var12= Var10 + HighD(1) - LowD(1) '2차저항 Var9= Var10 * 2 - HighD(1) '1차지지 Var8= Var10 - HighD(1) + LowD(1) '2차지지 Else Var10 = (HighD(1) + LowD(1) + closed(1)+opend(1)) / 4 ' 피봇 Var11= Var10 * 2 - LowD(1)'1차저항 Var12= Var10 + HighD(1) - LowD(1)'2차저항 Var9= Var10 * 2 - HighD(1)'1차지지 Var8= Var10 - HighD(1) + LowD(1)'2차지지 Var20=var11-var10 Var21=var10-var9 Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False: Then Call buy(" 매수 ", Atstop, Def, opend+var20*len1) If Cond2=False Then Call sell(" 매도 ", Atstop, Def, opend-var21*len1)

If position<>0 Then Call exitlong(" 매수청산 ", Atstop, hhv(1,high, barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ", Atstop, llv(1,low, barnumsinceentry+1)+atr(20)*len) < 수식 4-3> 을보면두가지피봇계산방법은동일하고피봇과 1차저항선과의거리와피봇과 1차지지선과의거리를금일시가에더하거나빼서계산된가격대를지지 / 저항선으로활용하는방법이다. 매매는같은방향으로제어되어있다. 적용된그림은다음과같다. 그림 0-3 DD_Pivot( 변경 ) 그림에서보면매수에서손절, 매도로이어지는매매가발생하였다. 두가지선이지지 / 저항선으로작동하게되며, 앞서설명한 DD_RangBreak와유사한전략구조를가지고있다. 14

< 표 0-6> DD_Pivot( 변경 ) 전략적용결과 평가항목 DD_Pivot( 변경 ) DD_Pivot( 변경 ) Method = 1 Method = 2 총손익 77,587.82 86,028.21 평균손익 73.75 89.61 최대손실 -1,020.67-1,157.12 총매매수 1,052 960 연속이익매매수 8 10 연속손실매매수 9 8 최대자본인하액 -4,327.60-5,113.40 승률 48.00 48.96 손익비 1.46 1.60 평균손익비 1.58 1.66 보상비율 17.93 16.82 변수값 2.7, 1, 0.64 2.7, 2, 0.74 주 ) 필수적으로보유해야할바수 : 100, 단위 : 천원, %, 배 < 표 4-6> 을보면방법2가상대적으로방법1보다수익이큰것을알수있다. 기존의피봇전략보다위험은감소, 수익은증가하는형태로서유용한변형이라할수있다. 피봇과마찬가지로지지 / 저항선을설정하는방법으로자주사용되는것이디마크 (DeMark) 지지 / 저항선이있다. (2) 디마크 (DeMark) 지지 / 저항선 디마크지지 / 저항선 (DeMark s Projected Range) 은피봇지지 / 저항선과유사하다. 계산방법은다음과같다.

조건 금일시가 > 전일종가 금일시가 < 전일종가 금일시가 = 전일종가 < 표 0-7> 디마크지지 / 저항선계산식계산식 목표고가 =( 전일고가 + 전일종가 +2* 전일저가 )/2- 전일저가목표저가 =( 전일고가 + 전일종가 +2* 전일저가 )/2- 전일고가 목표고가 =(2* 전일고가 + 전일종가 + 전일저가 )/2- 전일저가목표저가 =(2* 전일고가 + 전일종가 +2* 전일저가 )/2- 전일고가 목표고가 =( 전일고가 +2* 전일종가 + 전일저가 )/2- 전일저가목표저가 =( 전일고가 +2* 전일종가 + 전일저가 )/2- 전일고가 금일시가와전일종가의관계에따라 3가지계산식으로금일의목표고가, 저가를설정하는방법이다. 목표고가는저항선이고목표저가는지지선이다. 테스트결과다음 3가지방법이유용한결과를나타내었다. DD_DeMark( 일반 ): 피봇일반전략과다르게디마크목표고가와목표저가사이에서는매매를하지않고, 목표고가, 저가를벗어났을경우에만매매를한다. DD_DeMark( 역추세 ): 일반전략에다디마크목표고가와목표저가사이에서는역추세적인매매를하게구성한다. DD_DeMark( 변경 ): 시가에디마크목표고가와목표저가의폭의일정비율을가감해서돌파전략으로사용한다. 피봇사용법과거의같으나 DD_DeMark( 일반 ) 의경우목표고가및목표저가사이에서는매매를안하는방법이더유용한테스트결과를나타내어이방법을사용하였다. 3 가지전략식은다음과같다. < 수식 0-4> DD_DeMark( 일반 ) 영역 : 전략이름 : DD_DeMark( 일반 ) Input: len(3.2), len1(0.34) If opend>closed(1) Then Var1=(highd(1)+closed(1)+2*lowd(1))/2-lowd(1) Var2=(highd(1)+closed(1)+2*lowd(1))/2-highd(1) Elseif opend<closed(1) Then 16

Var1=(2*highd(1)+closed(1)+lowd(1))/2-lowd(1) Var2=(2*highd(1)+closed(1)+lowd(1))/2-highd(1) Else Var1=(highd(1)+2*closed(1)+lowd(1))/2-lowd(1) Var2=(highd(1)+2*closed(1)+lowd(1))/2-highd(1) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False Then If opend>var1 Then Call buy(" 매수 1",Atstop,Def,opend+(Var1-var2)*len1) If opend<var2 Then Call buy(" 매수 4",Atstop,Def,Var2) If Cond2=False Then If opend>var1 Then Call sell(" 매도 1",Atstop,Def,Var1) If opend<var2 Then Call sell(" 매도 4",Atstop,Def,opend-(Var1-var2)*len1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len)

영역 : 전략 < 수식 0-5> DD_DeMark( 역추세 ) 이름 : DD_DeMark( 역추세 ) Input: len(3.2), len1(0.34 ), len2(0.07) If opend>closed(1) Then Var1=(highd(1)+closed(1)+2*lowd(1))/2-lowd(1) Var2=(highd(1)+closed(1)+2*lowd(1))/2-highd(1) Elseif opend<closed(1) Then Var1=(2*highd(1)+closed(1)+lowd(1))/2-lowd(1) Var2=(2*highd(1)+closed(1)+lowd(1))/2-highd(1) Else Var1=(highd(1)+2*closed(1)+lowd(1))/2-lowd(1) Var2=(highd(1)+2*closed(1)+lowd(1))/2-highd(1) Var3=(Var1+var2)/2 Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False Then If opend>var1 Then Call buy(" 매수 1",Atstop,Def,opend+(Var1-var2)*len1) If opend<=var1 And opend>=var2 Then If lowd<var2 And high<var2+(var1-var2)*len1 Then Call buy(" 역매수 ",Atstop,Def,Var2+(Var1-var2)*len2) If opend<var2 Then Call buy(" 매수 2",Atstop,Def,Var2) 18

If Cond2=False Then If opend>var1 Then Call sell(" 매도 1",Atstop,Def,Var1) If opend<=var1 And opend>=var2 Then If highd>var1 And low>var1-(var1-var2)*len1 Then Call sell(" 역매도 ",Atstop,Def,Var1-(Var1-var2)*len2) If opend<var2 Then Call sell(" 매도 2",Atstop,Def,opend-(Var1-var2)*len1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len)

영역 : 전략 < 수식 0-6> DD_DeMark( 변경 ) 이름 : DD_DeMark( 변경 ) Input: len(2.7), len1(0.37) If opend>closed(1) Then Var1=(highd(1)+closed(1)+2*lowd(1))/2-lowd(1) Var2=(highd(1)+closed(1)+2*lowd(1))/2-highd(1) Elseif opend<closed(1) Then Var1=(2*highd(1)+closed(1)+lowd(1))/2-lowd(1) Var2=(2*highd(1)+closed(1)+lowd(1))/2-highd(1) Else Var1=(highd(1)+2*closed(1)+lowd(1))/2-lowd(1) Var2=(highd(1)+2*closed(1)+lowd(1))/2-highd(1) Var3=(Var1-var2) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False Then Call buy(" 매수 1",Atstop,Def,opend+var3*len1) End if If Cond2=False Then Call sell(" 매도 1",Atstop,Def,opend-var3*len1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len) 위세가지디마크사용방법은피봇사용법과거의유사하기때문에적용그림은생략하고테스트결과를보기로하자. 20

< 표 0-8> DD_DeMark 전략적용결과비교 DD_DeMark DD_DeMark DD_DeMark 평가항목 ( 일반 ) ( 역추세 ) ( 변경 ) 총손익 67,831.51 85,830.70 90,962.62 평균손익 114.39 99.11 95.65 최대손실 -1,047.33-1,060.50-1,132.98 총매매수 593 866 951 연속이익매매수 9 9 10 연속손실매매수 6 7 7 최대자본인하액 -4,201.80-5,448.99-4,438.61 승률 52.45 50.58 49.42 손익비 1.79 1.66 1.67 평균손익비 1.62 1.62 1.71 보상비율 16.14 15.75 20.49 변수값 3.2, 0.34 3.2, 0.34,0.07 2.7,0.37 주 ) 필수적으로보유해야할바수 : 100, 단위 : 천원, %, 배 테스트결과 DD_DeMark( 변경 ) 이상대적으로좋은결과를보였다. 피봇전략들과비교해보더라도보다유용한결과임을알수있다. 피봇전략과디마크의전략의특징적인차이를하나더설명하면, 현재시점의수익곡선의차이를들수있다. 피봇및디마크의일반전략의누적수익곡선을보면서설명하겠다. < 그림 0-4> 피봇전략과디마크전략비교 90000.00 80000.00 70000.00 60000.00 피봇 ( 일반 ) y = 22.14x + 20469 R 2 = 0.925 50000.00 40000.00 30000.00 20000.00 디마크 ( 일반 ) y = 21.918x + 16683 R 2 = 0.9668 10000.00 0.00 1 128 255 382 509 636 763 890 1017 1144 1271 1398 1525 1652 1779 1906 2033 2160 2287 2414 2541 2668 2795

< 그림 4-4> 는피봇전략 (1번방법 ) 과디마크전략의수익곡선을동시에표현한것으로서, 굵은선이디마크 ( 일반 ) 전략의수익곡선이다. 선형회귀식을보면둘은비슷하지만현시점과선형성에서차이를보인다. 디마크의선적합도가 96% 로피봇전략보다더높으며, 현시점에서수익곡선의상승유지정도가더좋다는것을알수있다. 하지만디마크전략이모든상황에서피봇전략보다유용하다고할수는없다. 이러한현상은위의모든디마크전략에서확인가능하다. 위와같이유사한돌파전략이라도어떻게지지 / 저항선을설정하느냐에따라서수익및위험의구조가바뀌게되므로합리적인지지 / 저항선을개발하는것이중요하다는것을알수있다. 그러면이제다음으로또하나의지지 / 저항설정방법에대해서알아보기로하자. (3) 고정시간대돌파전략 (Time BreakOut) 고정시간대돌파전략은특정시간대에서지지 / 저항선을설정하고, 이를이용해서매매하는돌파전략이다. 주로장시작이후일정시간대를이용하게되는데, 시가에서일정시간동안은그날의추세를형성하는시간대로서추세가없으며, 해당시간이후의진행방향이진정한장중추세를의미한다는논리에근거한다. 예를들어 9시에서 10시까지는전일포지션정리물량및오늘신규포지션이형성되는시간대로이시간대에서는매매를하지않고이후추세가발달하는방향으로매매를하는전략이다. 22

3가지정도의전략을작성해보기로하자. DD_TimeBreak( 시간 ) 시간이용 : 시간을이용해서전략식을작성한다. 단, 개장이 10시에시작되는날 ( 연초, 수능일 ) 이나, 기타특수한상황으로시간대가바뀐경우는제어해야정확한테스트가가능해진다. DD_TimeBreak(Bar) 바카운트이용 : 위와같은복잡한제어를피하기위해서시간대신에봉 ( 바 ) 카운트를적용한다. DD_TimeBreak( 변형 ) 바카운트이용 : 바카운트에적절한필터를적용해서변형전략을작성해본다. 영역 : 전략 < 수식 0-7> DD_TimeBreak( 시간 ) 이름 : DD_TimeBreak( 시간 ) Input: timee(920), len(2.7), len1(2), len2(0.18) If tdate<>tdate(1) Then Var50=currententrynum If ttime=timee Then Var1=hhv(1,high,len1)-atr(20)*len2 Var2=llv(1,low,len1)+atr(20)*len2 If tdate<>20000104 And tdate<>20010102 And tdate<> 20010912 And tdate<>20011107 _ And tdate<>20020102 And tdate<>20021106 And tdate<>20030102 _ And tdate<>20031105 And tdate<>20040102 Then If ttime>timee And ttime<1500 Then If currententrynum-var50<=0 Then Call buy(" 매수 ", Atstop, Def, Var1) Call sell(" 매도 ", Atstop, Def, Var2) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len)

< 수식 4-7> 에서매매횟수를하루에한번으로제어했으며, 9시 20분에서 2봉최고가및최저가에변동성을감안한지지 / 저항선을작성하고 9시 20분이후에돌파방향으로매매하는전략식이다. 또한연초, 수능시험일등매매시작시간이 9시가아닌날은매매를하지않게되어있다. 영역 : 전략 < 수식 0-8> DD_TimeBreak(Bar) 이름 : DD_TimeBreak(Bar) Input: barr(1), len(2.7), len1(2), len2(0.18) If tdate<>tdate(1) Then Var50=currententrynum Var49=barnum If barnum-var49=barr Then Var1=hhv(1,high,len1)-atr(20)*len2 Var2=llv(1,low,len1)+atr(20)*len2 If barnum-var49 > barr And ttime<1500 Then If currententrynum-var50<=0 Then Call buy(" 매수 ",Atstop,Def,Var1) Call sell(" 매도 ",Atstop,Def,Var2) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len) < 수식 4-8> 은 < 수식 4-7> 과유사하나, 차이점은개장시점부터봉을카운트해서지지 / 저항선을결정하는차이가있다. 즉 10분봉기준으로 barr=1 이면 9시 10분을의미하게되며, 3분봉기준으로 barr= 3 이면 9시 9분이된다. 그러므로거래소의개장시간이변경되더라도시간에영향을받지않게된다. 24

영역 : 전략 < 수식 0-9> DD_TimeBreak( 변형 ) 이름 : DD_TimeBreak( 변형 ) Input: barr(1), len(2.7), len1(2), len2(0.18) If tdate<>tdate(1) Then Var50=currententrynum Var49=barnum If barnum-var49=barr Then Var1=hhv(1,high,len1)-atr(20)*len2 Var2=llv(1,low,len1)+atr(20)*len2 If barnum-var49 > barr And ttime<1500 Then If currententrynum-var50<=0 Then If opend<=close Then Call buy(" 매수 ", Atstop, Def, Var1) If opend>close Then Call sell(" 매도 ", Atstop, Def, Var2) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len) < 수식 4-9> 는 < 수식 4-8> 에양봉이면 (opend<=close) 매수방향만, 음봉이면매도방향만매매하라는필터를추가하였다. 자주사용되는유용한필터이다. 한가지유의할점은하루에한번으로매매가제어되어있더라도매매가두번발생할수있다는것이다. 대부분의돌파전략에서발생할수있는데, 그이

유는너무좁은지지 / 저항선을사용하는경우이다. DD_TimeBreak(Bar) 를적용한그림을보자. < 그림 0-5> DD_TimeBreak(Bar) 위그림을보면네모로표시된부분에서같은봉에매수, 매도가동시에발생하는데이는지지 / 저항선의폭이좁아서발생하는것으로서실시간매매에서도하루에두번매매가발생할수있다. 이를실시간매매에서제어하기위해서 setbaroneentry란함수를사용해서한봉에서한번매매만발생하게할수있다. 위세가지시간대돌파전략의테스트결과는 < 표 4-9> 와같다. 26

< 표 0-9> 고정시간대돌파전략적용결과 DD_TimeBreak DD_TimeBreak DD_TimeBreak 평가항목 ( 시간 ) (bar) ( 변형 ) 총손익 82,876.10 84,030.95 78,394.80 평균손익 90.48 91.14 86.15 최대손실 -1,092.32-1,092.32-1,092.32 총매매수 916 922 910 연속이익매매수 7 7 7 연속손실매매수 10 10 10 최대자본인하액 -8,933.93-9,000.66-4,813.35 승률 45.31 45.34 44.73 손익비 1.58 1.58 1.53 평균손익비 1.90 1.90 1.89 보상비율 9.28 9.34 16.29 변수값 920, 2.7, 2, 0.18 1, 2.7, 2, 0.18 1, 2.7, 2, 0.18 주 ) 필수적으로보유해야할바수 : 100, 단위 : 천원, %, 배 위결과를보면수익측면에서 DD_Timebreak( 변형 ) 이가장낮은수준이다. 하지만위험측면을보면 DD_Timebreak( 시간 ) 및 DD_Timebreak(Bar) 전략의최대자본인하액이약 900만원전후로서앞서설명한피봇및디마크전략들보다상당히높은수준인것을알수있다. 따라서보상비율이 10을넘지못한다. 반면, DD_Timebreak( 변형 ) 전략은 480만원으로서상대적으로작은수준임을알수있고앞서설명한피봇및디마크전략과유사한수준이다. 따라서 DD_Timebreak( 시간 ) 및 DD_Timebreak(Bar) 전략보다 DD_Timebreak( 변형 ) 전략이수익은다소떨어지지만, 상대적으로위험수준이낮아서실제사용하기에적절한형태인것으로판단된다. 그럼이제장중최고가, 최저가를이용한돌파전략을만들어보기로하자. (4) 장중최고, 최저가이용돌파전략 분차트에서장중최고가는 highd, 최저가는 lowd로표현된다. 이두가지값을이용해서돌파시점을설정하여매매하는것이장중최고, 최저가이용돌파

전략이다. 즉장중최저가 + 일정수준선을저항선으로설정하고이를상향돌파할때매수하고, 장중최고가 일정수준선을지지선으로설정하고이를하향돌파할때에매도한다. 일정수준은전일변동폭을사용한다. 전략식은다음과같다. 영역 : 전략 < 수식 0-10> DD_HighDLowDBreak 이름 : DD_HighDLowDBreak Input: len(2.9), len1(0.53) Var1=highd(1)-lowd(1) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If tdate<>tdate(1) Then Var50=currententrynum Var10=atr(20)*len1 If ttime<1500 Then If Cond1=False And currententrynum-var50<=1 Then 매매횟수제한 Call buy(" 매수 ",Atstop,Def,lowd+var1*len1) If Cond2=False And currententrynum-var50<=1 Then 매매횟수제한 Call sell(" 매도 ",Atstop,Def,highd-var1*len1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len) 위식은하루중매매횟수를제어하는식이추가되어있다. 1 이면 2 번매매를허용하고 2 이면 3번매매를허용한다. 두번, 세번매매를테스트해보자. 우선적용된그림은다음과같다. 28

< 그림 0-6> DD_HighDLowDBreak < 그림 4-6> 을보면이전략의특징이한눈에파악된다. 위그림에서처럼최초매수발생이후가격이상승하게되면매도선이따라서상승하고매수선과역전된다. 따라서추적스탑형태를내포하게될뿐만아니라위그림처럼빠른역매도가가능하다. 테스트결과는다음과같다. < 표 0-10> DD_HighDLowDBreak전략적용결과 평가항목 DD_HighDLowDBreak DD_HighDLowDBreak 두번매매세번매매 총손익 91,769.77 93,797.79 평균손익 75.47 70.31 최대손실 -1,632.56-1,632.56 총매매수 1,216 1,334 연속이익매매수 8 8 연속손실매매수 10 12 최대자본인하액 -4,863.61-5,839.55 승률 47.78 47.68 손익비 1.49 1.46 평균손익비 1.63 1.61 보상비율 18.87 16.06 변수값 2.9, 0.53 2.9,0.53 주 ) 필수적으로보유해야할바수 : 100, 단위 : 천원, %, 배 테스트결과두번매매보다세번까지매매를허용하는것이더좋은수익을

발생하였으나, 보상비율이낮아져위험도같이증가한다는것을알수있다. 다른전략과차이를보이는것은매매건수이다. 매매건수가 1,000 건이상이면서도수익과위험의구조가양호하다는것을알수있다. 문제점이있다면연속손실횟수가연속이익횟수보다크다는것으로서, 다소나쁜진입을제어하는전략이추가되면, 더유용한전략이될것이라판단된다. 2. 수렴돌파전략 수렴돌파전략은가격수렴이발생한다음에돌파하는방향으로매매하는전략으로서앞서설명한돌파전략과유사한매매전략이다. 하지만수렴이발생하는것을전제로한다는차이점이있다. 그러면가격의수렴이란구체적으로무엇을의미하는가? 수렴은가격흐름에추세가없고쉬는구간을의미한다. 즉횡보추세를의미하는데, 이횡보추세가발달하면그다음은추세구간 ( 상승이나하락 ) 을기대할수있다. 따라서수렴이발생한다음지지 / 저항선을돌파하는방향이추세가된다. 따라서돌파전략의진입제어인필터 (Filter) 로서유용하게사용되며, 독립적인전략으로도사용가능하다. 수렴은 Congestion, Consolidation 등으로표기되며주로가격이밀집되는구간이나변동성이축소되는구간이라설명할수있다. 기술적분석을통해수렴국면을찾는다양한방법이있는데, 실제로눈으로찾기는쉬우나코딩을통해수렴구간을표현하기에는어려운점이많다. 우선기술적분석에서수렴구간을표현할수있는방법을정리해보자. 30

< 표 0-11> 기술적분석을통한수렴구간의표현구분항목설명 모형분석 기술적지표 패턴분석 삼각형 (triangle) 사각형 (rectangle) ATR, Range, 표준편차, 역사적변동성등볼린저밴드그물망일목균형표의선행스팬주가채널 DMI, ADX 지표인사이드 (inside day=id) Narrow range(nr) 상승추세선과하락추세선의교차형태상승추세선과하락추세선의평행형태변동성이적은구간밴드폭이좁은수렴구간장단기이동평균선이수렴하는구간선행스팬1과선행스팬2의밀집구간채널폭이좁은구간 Adx 지표가일정수준이하전일고가 > 고가 and 전일저가 < 저가 ID1: 1 봉인사이드 ID2: 2 봉인사이드 Range( 고가 -저가 ) 가적은형태 NR2: 2 봉수렴 NR3: 3 봉수렴 위와같이다양한방법으로수렴구간을설정할수있다. 그러나모형분석에있어한가지명심해야할점은깃대형이나깃발형또한수렴패턴의일종이지만, 이것들은상승이나하락후조정 (retracement) 패턴으로발생하므로저가진입이라는관점에서직전추세와같은방향의진입을기초로한다는점이다. 수렴돌파전략은낮은위험을가진진입 (low risk entry) 이라는큰장점을가지고있다. 수렴이발생하면변동성이작아낮은위험상태에서진입할수있다. 또한되돌림시점에서진입하는전략이므로돌파전략보다유리한가격및낮은위험에서진입을하게된다. 따라서많은계약수로진입할수있게되는장점을확보하는전략형태이다. 그러면다양한수렴돌파전략 (DD_CongestionBreak) 을작성해보도록하자.

(1) ATR, Range 이용 ATR, Range로수렴국면을설정하는방법부터알아보기로하자. 변동성을대표하는지표인 ATR과 Range를이용해서변동성이축소되었을때만매매를하는전략을고려할수있다. 여기서우선기억해야할것은 ATR은시가갭을포함한전략식이고, Range는시가갭을포함하지않은가격의진폭만으로변동성을측정하는차이가있다는것이다. 즉 ATR의경우아침시간대에변동성이크게나타나는현상이 Range를이용하면해결이된다. 또하나고려해야할것은 ATR를사용할경우과거데이터의처음값부터참조하기때문에오프라인과온라인모드에서매매신호에차이가발생할수있다. 진입과청산전략모두에서 ATR을사용할경우매매신호에차이가발생할수있는데, 그이유는온라인모드의데이터길이가짧기때문이다. 따라서매매신호가왜곡될수도있다. 이러한데이터길이에따른매매신호왜곡가능성은지수이동평균 (Exponential Moving Average) 도마찬가지이다. 이러한차이점을인식하고 ATR, Range를동시에적용할수있는전략식을작성해보자. 영역 : 전략 < 수식 0-11> DD_CongestionBreak( 방법 1) 이름 : DD_CongestionBreak( 방법1) Input: len(10), len1(70), len2(0.37), s1(2.7), method(1), delay(8) If method=1 Then Var1=atr(len) Var2=atr(len1) Elseif method=2 Then Var20=high-low Var1=mov(Var20,len,s) Var2=mov(Var20,len1,s) 32

Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Var1<var2 Then Var10=1 Else Var10=0 If hhv(1,var10,delay)=1 Then If ttime<1500 Then If Cond1=False And high<opend+(highd(1)-lowd(1))*len2 Then Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*len2) If Cond2=False And low>opend-(highd(1)-lowd(1))*len2 Then Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*len2) If Cond1=False And high>opend+(highd(1)-lowd(1))*len2 Then Call buy(" 매수 1",Atstop,Def,hhv(1,high,delay)) If Cond2=False And low<opend-(highd(1)-lowd(1))*len2 Then Call sell(" 매도 1",Atstop,Def,llv(1,low,delay)) End if If position<>0 then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s1) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s1)

< 수식 4-11> 은 method = 1을입력하면 ATR을이용하게되며 method = 2를입력하면 Range를이용하게된다. 수렴구간의설정은단기 ATR이장기 ATR보다적은구간으로설정하였고, 진입방법은 RangeBreak와일정기간고정돌파를사용하였다. 적용그림은다음과같다. < 그림 0-7> DD_CongestionBreakt( 방법 1) 주 ) 지표 : DD_CongestionBreakt( 방법 1) 적용, 신호 : 진입, 청산적용 그림을보면단기변동성이장기변동성이이하에서일정기간지속되면변동성수렴구간이되며이구간에서 Rangebreak 이나일정기간고저돌파 ( 위그림은 8봉최저가하향돌파 ) 로시장에진입하는것을보여주고있다. ATR 및 Range 테스트결과는 < 표 4-12> 와같다. 34

< 표 0-12> DD_CongestionBreak 전략적용결과비교 평가항목 DD_CongestionBreak( 방법 1) DD_CongestionBreak( 방법 1) Method = 1 Method = 2 총손익 88,370.01 93,058.37 평균손익 102.16 108.46 최대손실 -1,132.98-1,132.98 총매매수 865 858 연속이익매매수 10 10 연속손실매매수 6 7 최대자본인하액 -4,143.31-3,120.68 승률 50.64 51.52 손익비 1.80 1.86 평균손익비 1.75 1.75 보상비율 21.33 29.82 변수값 10, 70, 0.37, 2.7, 1, 8 10, 50, 0.37, 2.7, 2, 7 주 ) 필수적으로보유해야할바수 : 100 둘다유용한결과를나타냈다. 특히 Range를이용한경우에보상비율이 29.82로서높은수익에적은위험구조를갖게되었다. 위와같이변동성이적은구간에서매매를하는방법을통해시스템의위험을줄일수있다는것을알수있다. 그러면이제부터 < 표 4-11> 에서설명한다른기술적지표들을이용해서수렴구간매매전략을작성해보도록하자. (2) 볼린저밴드 (Bollinger Band) 볼린저밴드란이동평균선에가격의표준편차를더하거나빼서밴드를표시하는것으로서, 추세의확장및수렴을잘설명하는지표이다. 3가지선으로구성된다.

구분상단선 (Upper band) 중심선 (Middle Band) 하단선 (Lower Band) < 표 0-13> 볼린저밴드내용중심선 + N 일간종가의표준편차 * 승수 N 일간종가단순이동평균선중심선 - N 일간종가의표준편차 * 승수 밴드폭 ( 상단선 - 하단선 ) 이넓다는것은가격변동성이크다는것을나타내고, 밴드폭이좁다는것은가격변동성이적다는것을나타낸다. 또한중심선은이동평균선으로서상승하면상승추세, 하락하면하락추세를나타내어추세및변동성을동시에파악가능한지표이다. 여기서는수렴구간에대한데이트레이딩전략으로만한정해서전략식을작성하면다음과같다. 영역 : 전략 이름 : DD_CongestionBreak(BBand) < 수식 0-12> DD_CongestionBreak( 볼린저밴드 ) Input: len(40), len1(1), len2(30), multi(5), delay(5), s1(0.37), s2(2.7) Var50=bbandtop(close,len,len1,s) Var49=bbandbot(close,len,len1,s) Var1=var50-var49 Var2=high-low Var3=mov(Var2,len2,s)*multi Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Var1<var3 Then Var10=1 Else Var10=0 If hhv(1,var10,delay)=1 then If ttime<1500 Then If Cond1=False And bbandmid(close,len,len1,s)>bbandmid(close,len,len1,s,1) Then Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*s1) If Cond2=False And bbandmid(close,len,len1,s)<bbandmid(close,len,len1,s,1) Then Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*s1) 36

If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) < 수식 4-12> 를보면밴드폭이평균 Range의일정배수이하일경우에수렴구간으로판단하고, 이구간에서만밴드중심선이상승하면 RangeBreak 매수전략을, 중심선이하락하면 Rangebreak 매도전략을구사하게된다. 지표및적용된그림은다음과같다. < 그림 0-8> DD_CongestionBreak( 볼린저밴드 ) 주 ) 신호 : 진입, 청산가격, 지표 : DD_CongestionBreak(BBand) 적용 < 그림 4-8> 은변동성수렴 ( 밴드폭 < Range) 이발생한구간에서매도방향으로매매가발생하여수익이발생한사례를표시한그림이다. 9월 22일에는변동성확대가지속되고있어매매가발생하지않게된다. 테스트결과는나중에보기로하고이제부터그물망차트를이용한수렴구간매매전략에대해서알아보자.

(3) 그물망차트 (Multi Moving Average Indicator) 그물망차트란이동평균선의변수값을점진적으로증가시키면서중첩하여표시한지표이다. 예를들어초기이동평균값이 20이고이동평균개수가 10, 증감은 2라고하면, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40 이동평균선 11 개를동시에표시하는지표이다. 이렇게표시를하게되면이동평균선들의수렴과확장이잘표시된다. 볼린저밴드와함께수렴국면파악에유용하게사용되는지표이다. 여기서는역시수렴국면파악만을이용한전략을작성하는데수렴국면은이동평균선들이밀집되는구간으로서최대값을가진이동평균선과최소값을가진이동평균선의차를이용한다. 영역 : 전략 < 수식 0-13> DD_CongestionBreak( 그물망 ) 이름 : DD_CongestionBreak 그물망 ) Input :len(20), cont(10), stepp(2), multi(2), delay(5), s1(0.37), s2(2.7) Var50=mov(close,len,s) Var49=mov(close,len,s) For i = 1 To cont If Var50<mov(close,len+stepp*i,s) Then Var50=mov(close,len+stepp*i,s) If Var49>mov(close,len+stepp*i,s) Then Var49=mov(close,len+stepp*i,s) Next Var1=var50-var49 Var2=high-low Var3=mov(Var2,len,s)*multi Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Var1<var3 Then Var10=1 Else Var10=0 If hhv(1,var10,delay)=1 And hhb(1,var10,delay)=delay-1 Then If ttime<1500 Then 38

If Cond1=False Then Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*s1) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) < 수식 4-13> 을보면 20봉이동평균에서 40봉이동평균선까지작성하고각봉마다최대값과최소값의차인변동성폭과 Range의가격변동성폭을비교해서그물망의폭이적을경우에데이트레이딩돌파전략을구사하는전략식이다. 적용한그림은다음과같다. < 그림 0-9> DD_CongestionBreak( 그물망 ) 주 ) 신호 : 진입, 청산가격, 그물망차트, 지표 : DD_CongestionBreak( 그물망 ) < 그림 4-9> 를보면그물망변동폭이 Range 보다적어져서 5 봉 (delay=5) 이지

나면수렴구간으로판단하고, 돌파전략이작동하기시작한다. 여기에대한테스트결과도일목균형표를설명한뒤함께보기로한다. (4) 일목균형표 ( 一目均衡表 ) 일본에서개발된일목균형표는현재우리나라에서인기가많은지표로서엘리어트파동이론이나갠이론등과함께종합분석 ( 패턴, 비율, 시간 ) 이가능한기술적지표이다. 여기서는일목균형표의선행스팬1과선행스팬2로구성된구름대의폭만을이용해서수렴구간을설정하는전략을만들어보자. 영역 : 전략 < 수식 0-14> DD_CongestionBreak( 일목 ) 이름 : DD_CongestionBreak( 일목 ) Input: len(9), len1(24), len2(20), multi(2), delay(8), s1(0.37), s2(2.7) Var50 = (hhv(1, high,len) + llv(1, low,len)) / 2 Var49 = (hhv(1, high,len1 ) + llv(1, low,len1) ) / 2 Var48=(Var50+var49)/2 Var47 = (hhv(1, high, len1*2) + llv(1, low, len1*2) ) / 2 Var46=var47(len1-1) ' 선행스팬 2 Var45=var48(len1-1) ' 선행스팬 1 Var1=abs(Var45-var46) ' 구름대폭 Var2=high-low Var3=mov(Var2,len2,s)*multi Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Var1<var3 Then Var10=1 Else Var10=0 If hhv(1,var10,delay)=1 Then If ttime<1500 Then If Cond1=False Then 40

Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*s1) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) < 수식 4-14> 를보면최적화를통해서기본적으로사용하는변수값 ( 선행스팬 1(9,26봉 ), 선행스팬2(52)) 과다소다르게선행스팬 1은 9, 24, 선행스팬 2는 48을사용하였다. 이구름대의폭이 Range보다적으면수렴구간으로간주하고돌파전략을구사한다. 적용한그림은다음과같다. < 그림 0-10> DD_CongestionBreak( 일목 )

주 ) 신호 : 일목균형표 ( 구름대 ), 지표 : DD_CongestionBreak( 일목 ) < 그림 4-10> 을보면구름대폭이 range폭보다적은구간 ( 히스토그램 ) 에서데이트레이딩전략중 Rangebreak의진입방법을이용해서매도를두번시행한구간을표시하고있다. 앞서설명한볼린저밴드와그물망차트, 일목균형표를이용한수렴돌파전략의테스트결과를동시에보기로하자. < 표 0-14> 테스트결과 ( 볼린저밴드, 그물망, 일목균형표 ) 평가항목 볼린저밴드 그물망 일목균형표 총손익 79,483.71 89,154.10 83,626.37 평균손익 106.12 100.29 98.85 최대손실 -953.22-1,132.98-1,120.12 총매매수 749 889 846 연속이익매매수 8 8 8 연속손실매매수 8 7 8 최대자본인하액 -2,917.82-3,993.36-4,197.29 승률 50.33 49.83 49.76 손익비 1.82 1.73 1.73 평균손익비 1.80 1.74 1.75 보상비율 27.24 22.33 19.92 변수값 40,1,30,5,5,0.37,2.7 20,10,2,2,5,0.37,2.7 9,24,20,2,8,0.37,2.7 주 ) 필수적으로보유해야할바수 : 100, 단위 : 천원, %, 배 세가지전략모두평균손익이 10 만원전후로유용한결과를보였다. 특히볼린저밴드의경우총손익이가장낮은반면, 최대손실및최대자본인하액이가장낮은수준으로보상비율은 27.31로가장높게나타났다. 또한일목균형표보다는그물망차트가수익과위험측면에서좀더좋은결과를나타냈다. 42

(5) 주가채널 (Price Channel) 주가채널은일정기간동안의최고가채널선과최저가선으로구성된지표이다. 이동평균선과함께가장기본적인기술적지표로서, 여기서는수렴돌파형태로만전략식을작성해보도록하자. 영역 : 전략 < 수식 0-15> DD_CongestionBreak( 주가채널 ) 이름 : DD_CongestionBreak( 주가채널 ) Input: len(15), multi(6), delay(5), s1(0.53), s2(2.7) Var1=hhv(1,high,len)-llv(1,low,len) Var2=high-low Var3=mov(Var2,len,s)*multi Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Var1<var3 Then Var10=1 Else Var10=0 If hhv(1,var10,delay)=1 then If ttime<1500 Then If Cond1=False Then Call buy(" 매수 1",Atstop,Def,lowd+(highd(1)-lowd(1))*s1) If Cond2=False Then Call sell(" 매도 1",Atstop,Def,highd-(highd(1)-lowd(1))*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) End if < 수식 4-15> 를보면주가채널의폭이 Range의일정폭이하일경우에수렴국면이라판단하고, 수렴구간이발생하면돌파진입전략을구사하는전략식이다. 적용된그림은다음과같다.

< 그림 0-11> DD_CongestionBreak( 주가채널 ) 주 ) 신호 : 진입, 청산가격, 지표 : > DD_CongestionBreak( 주가채널 ) < 그림 4-11> 을보면가격에는주가채널 (price channel) 이적용되어있다. 이상한폭이 Range의일정수준이하면수렴국면이라판단하고돌파형태의진입전략을구사하게되는데, < 그림 4-11> 의경우매수방향으로매매가발생하였다. 테스트결과는 DMI지표와함께확인하고이제 DMI지표를활용하여수렴돌파매매방법에대해서알아보자. (6) DMI 지표이용 DMI(Directional Movement Index) 지표는가장빈번하게사용되는수렴구간파악지표로서 +DI, -DI, ADX, ADXR 의 4가지선으로구성되어있다. 여기서는자세한공식의전개를피하고간단하게각각의선의의미만을파악해보자. 우선 +DI지표는상승 (uptrend) 추세를나타내며 DI 지표는하락 (downtrend) 추세를나타낸다. 따라서 +DI > -DI 이면상승추세가진행중이고, 반대이면 44

하락추세가진행중임을파악할수있게된다. ADX지표는변동성을나타내는지표로서 ADX가일정수준이나 ADXR보다크고상승중이면변동성이증가하고있다는것을나타내며, 일정수준이하거나하락중이면변동성감소나수렴국면이라는것을나타내는지표이다. ADXR지표는 ADX지표의이동평균선형태의지표이다. 따라서 ADX가일정수준이하이거나하락하고있는구간을수렴구간으로정의할수있으며, 이러한지표의특성을이용해서수렴돌파전략을작성할수있게된다. 영역 : 전략 < 수식 0-16> DD_CongestionBreak(DMI) 이름 : DD_CongestionBreak(DMI) Input: len(21), level(30), delay(2), s1(0.37), s2(2.7) Var1=adx(len) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Var1<level And Var1>var1(delay) Then If ttime<1500 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*s1) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2)

< 수식 4-16> 을보면 RangeBreak 전략을사용하는데 ADX 지표가일정수준이하에서상승중일경우에만진입하는식으로구성되어있다. 적용된그림은다음과같다. < 그림 0-12> DD_CongestionBreak(DMI) 주 ) 신호 : 진입, 청산가격, 지표 : DMI(ADX) < 그림 4-12> 를보면 7월 11일에서는 ADX지표가상승중이어서진입이가능한시점으로출발하였으나 30선을넘어서면서는매매가발생하지못하게되었다. 반면 7월14일에는다시 ADX지표가상승중으로매매발생이가능하게출발하였고매수진입이발생하였다. 앞서설명한주가채널방법과함께테스트결과를보기로하자. 46

< 표 0-15> 테스트결과 ( 주가채널, DMI 지표 ) 평가항목 주가채널 DMI 지표 총손익 84,119.48 82,278.42 평균손익 62.26 118.22 최대손실 -1,215.33-961.12 총매매수 1,351 696 연속이익매매수 7 8 연속손실매매수 9 7 최대자본인하액 -4,870.95-3,379.31 승률 46.34 51.15 손익비 1.42 1.95 평균손익비 1.64 1.86 보상비율 17.27 24.35 변수값 15, 6, 5, 0.53, 2.7 21, 30, 2, 0.37, 2.7 주 ) 필수적으로보유해야할바수 : 100 < 표 4-15> 를보면비슷한총손익을보이고있으나주가채널의경우위험이다소커서모든판단비율 ( 손익비, 평균손익비, 보상비율 ) 이다소낮게나타났다. 또한 DMI지표의경우평균손익이 11만원으로적은매매에서높은수익이발생하였음보여주고있다. 따라서 DMI지표를진입필터로사용한수렴돌파전략이유용하다는것을알수있다. 그러면이제부터패턴분석을통한수렴돌파전략에대해서알아보기로하자. (7) 인사이드데이 (Inside Day = ID) 전략 인사이드데이란전일고가보다금일고가가낮고, 전일저가보다금일저가가높은패턴을말한다. 인사이드데이반대패턴은아웃사이드데이 (Outside Day= 전일고가보다금일고가가높고, 전일저가보다금일저가가낮은패턴 ) 라한다.

인사이드데이패턴은말그대로수렴되는패턴이된다. 여기서는일간패턴으로간주하지않고단순봉패턴으로간주해서전략식을작성해보자. 영역 : 전략 < 수식 0-17> DD_CongestionBreak(ID) 이름 : DD_CongestionBreak(ID) Input: delay(9), s1(0.2), s2(2.7), s3(0.49) Var1=high-low Var2=mov(Var1,delay,s) Cond12=False If ttime<1500 Then Cond12=high(1)>=high And low(1)<=low And tdate=tdate(1) If Cond12=True Then Var10=1 Else Var10=0 Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If hhv(1,var10,delay)=1 And tdate(hhb(1,var10,delay))= tdate Then If ttime<1500 And Cond1=False Then If opend+(highd(1)-lowd(1))*s1<close Then Call buy(" 매수 ",Atstop,Def,high+var2*s3) If ttime<1500 And Cond2=False Then If opend-(highd(1)-lowd(1))*s1>close Then Call sell(" 매도 ",Atstop,Def,low-var2*s3) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) 48

< 식 4-17> 을보면당일중에 ID 패턴이발생하면이후 9봉이내 (delay) 에서는고저돌파매매전략을구사하세구성되어있다. 여기에추가로매수의경우에는시초가대비일정수준이상에서만매수발생, 시초가대비일정수준이하에서만매도발생하게구성되어있다. 적용된그림은다음과같다. < 그림 0-13> DD_CongestionBreak(ID) 주 ) 신호 : DD_CongestionBreak(ID) 그림을보면하루중 ID 패턴이수차례발생하고있음을알수있다 ( 저가에화살표로표시된부분 ). 이중에서시초가대비일정수준이상을나타내는매수레벨과매도레벨을봉의종가가벗어난방향으로만매매를하게끔되어있어, 위경우에는매도신호가발생하였다.

(8) NR(Narrow Range) 전략 Narrow Range 패턴은현재의 Range( 고가- 저가 ) 가최근 N봉중가장적을경우에적용된다. 즉 3봉의 Range 중현재봉이가장적은값을가지면 NR 패턴이되며이러한패턴이발생하면돌파전략을구사하는방법을사용한다. 영역 : 전략 < 수식 0-18> DD_CongestionBreak(NR) 이름 : DD_CongestionBreak(NR) Input: len(2), s1(0.2), s2(2.7), s3(0.01) Var1=high-low Cond11=False Cond11= Var1=llv(1,Var1,len) And ttime<1500 Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False Then If Cond11=True And Cond11(1)=False Then If opend+(highd(1)-lowd(1))*s1<close Then Call buy(" 매수 ",Atstop,Def,high+var1*s3) If Cond2=False Then If Cond11=True And Cond11(1)=False Then If opend-(highd(1)-lowd(1))*s1>close Then Call sell(" 매도 ",Atstop,Def,low-var1*s3) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) 50

< 수식 4-18> 의경우 2 봉간 NR 이비연속적으로발생한시점에서고저돌파진입전략을구사한다. 역시시초가대비일정수준이상에서만매수, 이하에서만매도전략이작동하도록구성되어있다. 적용된그림을보자. < 그림 0-14> DD_CongestionBreak(NR) 주 ) 신호 : DD_CongestionBreak(NR) < 그림 4-14> 의원호부분을보면매수레벨이상에서 NR 패턴이발생하였고그다음봉에서고점돌파로매수가완성되었다. 그러면이제일간 ID, NR 패턴을분간에적용하는방법을사용해보자. (9) 일간 ID, NR 전략 일간차트에서 Inside Day 나 Narrow Range가발생하면분간차트에서데이트레이딩돌파전략을구사하는방법을적용해보도록하자. 이러한형태는전형적인필터링 (Filtering) 기법으로서일간차트에서패턴이발생하여야만, 분차트를이용한매매가허용되기때문에나쁜진입신호를필터링해주는역할을한다.

< 수식 0-19> DD_CongestionBreak(IDNR_Day) 영역 : 전략이름 : DD_CongestionBreak(IDNR_Day) Input: s1(0.37), s2(2.7) 'NR2 If highd(1)-lowd(1)=min(highd(1)-lowd(1),highd(2)-lowd(2)) Then Cond11=True Else Cond11=False 'ID,ID2 If (highd(2)>=highd(1) And lowd(2)<=lowd(1)) _ Or (highd(3)>=highd(2) And lowd(3)<=lowd(2) And _ highd(2)>=highd(1) And lowd(2)<=lowd(1))then Cond12=True Else Cond12=False Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False Then If Cond11=True Or Cond12=True Then Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*s1) end if If Cond2=False Then If Cond11=True Or Cond12=True Then Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) 52

< 수식 4-19> 를보면 2일을이용한 Narrow Range 패턴과 2일을이용한 Inside Day, 3일을이용한 2일연속 Inside Day가발생하는 ID2 패턴을추가하였고, 이러한패턴이발생하면 10분차트에 RangeBreak전략을구사하게끔구성된전략식이다. 적용그림은다음과같다. < 그림 0-15> DD_CongestionBreak(IDNR_Day) 주 ) 추세 : DD_CongestionBreak(IDNR_Day), 신호 : 진입, 청산가격 < 그림 4-15> 는추세영역으로매매일과매매를안하는날을표시하였다. 매매일은일간으로 ID, ID2, NR 패턴이발생한다음날이된다. 위그림에서보면매매일날매수하여수익이발생하는것을보여준다. 그러면여기서앞서설명한 ID, NR 전략과함께과거테스트결과를살펴보자.

< 표 0-16> 테스트결과 (ID, NR, ID/NR Day) 평가항목 ID NR ID/NR_Day 총손익 75,009.44 78,923.92 70,932.34 평균손익 90.37 90.20 126.44 최대손실 -923.53-912.72-1,132.98 총매매수 830 875 561 연속이익매매수 8 9 8 연속손실매매수 7 7 6 최대자본인하액 -3,936.35-3,678.22-3,712.55 승률 50.48 49.14 51.87 손익비 1.68 1.68 1.96 평균손익비 1.65 1.73 1.82 보상비율 19.06 21.46 19.11 변수값 8, 0.2, 2.7, 0.49 2, 0.2, 2.7, 0.01 0.37, 2.7 주 ) 필수적으로보유해야할바수 : 100 세가지모두총손익측면에서앞서설명한전략들보다낮은수준을보인다. 하지만 ID/NR_Day 전략은매매건수가 561건으로서가장작은매매건수인반면, 평균손익이 12만원으로나쁜매매가잘제어되어높은평균손익을달성했다. 더욱이승률도 52% 대로충분히사용가능한전략임을알수있다. 3. 추세선, 지지 / 저항선분석전략 추세선및주가채널, 지지 / 저항포인트인스윙포인트를활용하는전략들을여기서작성해보기로하자. 역시돌파전략형태로분류될수있으며실제매매에서자주활용하는방법들이다. 전략의개념은다음과같다. 54

추세선전략 : 상승, 하락추세선돌파전략 LRS전략 : 전일의선형회귀선 (linear regression line) 과전일의표준편차등을이용한선형회귀채널돌파전략 Price channel(fibo) 전략 : 주가채널 (price channel) 에피보나치수열 (0.382,0.618 등 ) 을이용한매매전략 스윙 (swing) 전략 : 주가스윙포인트를이용한매매전략 (1) 추세선 (TrendLine) 전략 추세선은두가지로구분된다. 상승하는저점을연결하는상승추세선 (Up Trendline) 과하락하는고점을연결하는하락추세선 (Down TrendLine) 이있다. 하락추세선을저항선으로, 상승추세선을지지선으로설정하여전략을작성해보자. 영역 : 전략 < 수식 0-20> DD_TrendLine 이름 : DD_ TrendLine Input: len1(11), s1(0.36), s2(2.7) Set hvalue=arrays(10,2) Set lvalue=arrays(10,2) If shba(1,high,len1,len1)=len1 Then Var1=999999 For i = 9 To 1 Step - 1 hvalue(i,0)=hvalue(i-1,0) hvalue(i,1)=hvalue(i-1,1) Next hvalue(0,0)=shva(1,high,len1,len1) hvalue(0,1)=barnum For j = 1 To 9 If hvalue(j,0)>hvalue(0,0) Then Var1=j j=11 Next If Var1<=10 Then Var10=(hvalue(0,0)-hvalue(Var1,0))/(hvalue(0,1)-hvalue(Var1,1)) _ * shba(1,high,len1,len1)+hvalue(0,0)

Else Var10=999999 If slba(1,low,len1,len1)=len1 Then Var2=999999 For i = 9 To 1 Step - 1 lvalue(i,0)=lvalue(i-1,0) lvalue(i,1)=lvalue(i-1,1) Next lvalue(0,0)=slva(1,low,len1,len1) lvalue(0,1)=barnum For j = 1 To 9 If lvalue(j,0)<lvalue(0,0) Then Var2=j j=11 Next If Var2<=10 Then Var11=(lvalue(0,0)-lvalue(Var2,0))/(lvalue(0,1)-lvalue(Var2,1)) _ * slba(1,low,len1,len1)+lvalue(0,0) Else Var11=99999 If tdate<>tdate(1) Then Var50=currententrynum If currententrynum-var50 = 0 Then If ttime<1500 Then If high<var10 And Var1<=10 Then call buy(" 매수 ",Atstop,Def,Var10) If low>var11 And Var2<=10 Then Call sell(" 매도 ",Atstop,Def,Var11) Call sell(" 매도 1",Atstop,Def,opend-(highd(1)-lowd(1))*S1) Call buy(" 매수 1",Atstop,Def,opend+(highd(1)-lowd(1))*S1) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) 56

< 수식 4-20> 을보면배열을사용해서 10개의스윙고저 (swing high/low) 를검색하여낮아지는고가를이용해서하락추세선을, 높아지는저가를이용해서상승추세선을작성하여, 고가가하락추세선을상향돌파하면매수, 저가가상승추세선을하향돌파하면매도하는전략이다. 여기에 Rangebreak 돌파전략을동시에진입전략으로사용하였다. 적용한그림은다음과같다. < 그림 0-16> DD_TrendLine 주 ) 신호 : DD_Triangle 적용 < 그림 4-16> 을보면상승추세선을상향돌파함으로서매수 (8월 13일 ) 가발생하였으며, 그다음날은하락추세선의위에서시가가시작하고, 시가 + ( 전일고가-저가 )*0.36 시점을돌파할때매수가발생하는것을보여주고있다 (Rangebreak 전략 ). 이와같이일반적인돌파전락과추세선돌파방법을병행하는방법을사용하여매매건수증감및수익증가를도모할수있게된다.

(2) LRS(Linear Regression Slope) 전략 영역 : 전략 < 수식 0-21> DD_LRS 이름 : DD_LRS Input: s1(2.1), len1(56), len2(2.7) If tdate<>tdate(1) Then Var1=lrs(close,len1,1) Var2=Stdev(close,len1,s1,1) ' Var2=Stderr(close,len1,1)*S1 ' 표준오차적용 Var10=1 Var3=var1*var10+opend If tdate=tdate(1) Then Var10=var10+1 Var3=var1*var10+openD Var4=var3+var2 Var5=var3-var2 Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,Var4) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,Var5) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*len2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*len2) End if 선형회귀선은기술적분석에서유용하게사용하는방법으로서, 채널형태로도자 58

주사용된다. CT 에서제공하는채널형태는다음과같다. Raff Regression Channel: 일정기간동안의선형회귀선아래위로고가, 저가중최대거리를표시한채널 Standard Deviation Channel: 일정기간동안의선형회귀선아래위로표준편차만큼을더하거나빼서표시한채널 Standard Error Channel: 일정기간동안의선형회귀선아래위로표준오차만큼을더하거나빼서표시한채널 이러한채널은추세의방향성을파악하는데유용하게사용된다. < 수식 4-21> 은전일의선형회귀식을통해서계산된기울기 (=LRS) 를이용한데이트레이딩전략이다. < 수식 4-21> 은날짜가바뀌면 56개봉에대한선형회귀선의기울기및표준편차를계산하여해당일시가를이용해서회귀선채널을작성하는방법을사용하였다. 여기서 56개봉은 10분봉기준으로하루가 28개봉이므로 2일간을의미한다. 3일을계산한다면 84개봉을이용하면된다. 주석처리된부분은표준편차대신표준오차 (Standard Error) 를적용하는전략이다. < 그림 0-17> DD_LRS 주 ) 신호 : DD_LRS

< 그림 4-17> 에서원호부분을보면전일과전전일추세가하락추세인날로서하락채널이적용되어, 이채널의상단을상향돌파하여매수가발생하였다. 그다음날은상승채널이적용되어, 상단을돌파하는추세나하단을돌파는추세가없어매매가발생하지않았다. 테스트결과는나중에확인하기로하고, 이제부터주가채널을이용하는방법에대해서알아보기로하자. (3) 주가채널 (Price Channel(Fibo)) 전략 주가채널은일정기간의최저가가지지선이고, 최고가가저항선으로작용하는지표이다. 주가채널을활용하는방법은상당히다양하다. 여기서는피보나치되돌림비율을이용해서저가매수, 고가매도하는전략을설명하겠다. 즉주가채널상단선 ( 일정기간최고가 ) 대비피보나치비율 (0.382) 이상하락이발생하면매수전략을구사하게되고, 주가채널하단선 ( 일정기간최저가 ) 대비피보나치비율 (0.382) 이상상승하면매도전략구사하는방법을말한다. 역추세적인진입방법으로서가격되돌림 (Retracement) 을이용한매매전략이다. < 수식 0-22> DD_Channel(Fibo) 영역 : 전략이름 : DD_Channel(Fibo) Input: len1(200), ratio(0.382), s1(0.37), s2(2.7) Var1=hhv(1,high,len1)-llv(1,low,len1) Var2=var1*ratio Var3=hhv(1,high,len1)-var2 ' high retracement Var4=llv(1,low,len1)+var2 'low retracement Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If tdate<>tdate(1) Then Var50=currententrynum 60

If currententrynum-var50=0 Then If ttime<1500 Then Call buy(" 매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*s1) Call sell(" 매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*s1) If high<var3 And hhb(1,high,len1)<llb(1,low,len1) Then Call buy(" 매수 1",Atstop,Def,Var3) If low>var4 And hhb(1,high,len1)>llb(1,low,len1) Then Call sell(" 매도 1",Atstop,Def,Var4) If currententrynum-var50=1 Then If ttime<1500 Then If high<var3 And hhb(1,high,len1)<llb(1,low,len1) Then If Cond1=False Then Call buy(" 매수 2",Atstop,Def,Var3) If low>var4 And hhb(1,high,len1)>llb(1,low,len1) then If Cond2=False Then Call sell(" 매도 2",Atstop,Def,Var4) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) < 수식 4-22> 를보면우선장시작이후초기진입은되돌림매수, 매도와함께돌파진입을사용하였고두번째매매에서는되돌림매수, 매도만을이용하였다. 매매횟수는하루에두번매매로제한하였다. 그림을보면서자세히이해하기로하자.

< 그림 0-18> DD_Channel(Fibo) 주 ) 신호 : DD_Channel(Fibo), 필수적으로보유해야할바수 : 200 적용 < 그림 4-18> 를보면 4가지선이적용되어있는데제일위의선은 200 봉중최고가선이고제일아래선은 200봉중최저가선이다. 중간에두선은각각되돌림선이된다. 11월 20일에는기본적인돌파전략이작동하여매도가발생하였고, 11월 21일에는고점형성이후 38% 되돌림이발생한후바로상단되돌림선을상향돌파하여매수가발생한것을보여주고있다. (4) 스윙 (Swing) 전략 스윙전략은갱신되는고점이최저점대비일정수준이상이면상승방향 (up swing) 으로, 갱신되는저점이최고점대비일정수준이하이면하락방향 (down swing) 으로판단하는기술적분석기법을이용한전략이다. 설명만으로이해하기힘든부분이있으므로전략식및그림을통해서자세한설명을하기로하자. 62

< 수식 0-23> DD_Swing 영역 : 전략이름 : DD_Swing Input: perl(0.009), perh(0.017), s1(0.37), s2(2.7) If high>=var31*(1+perl) And Var1(1)<>1 Then Var1=1 Var3=high If low<=var3*(1-perh) And Var1(1)<>-1 Then Var1=-1 Var31=low If low<var31 Then Var31=low If high>var3 Then Var3=high If tdate<>tdate(1) Then Var50=currententrynum If currententrynum-var50=0 Then If ttime<1500 Then If Var1=-1 And high<var31*(1+perl) Then Call buy(" 매수 ",Atstop,Def, Var31*(1+perL)) Call sell(" 매도 1",Atstop,Def,opend-(highd(1)-lowd(1))*S1) If Var1=1 And low>var3*(1-perh) Then Call sell(" 매도 ",Atstop,Def, Var3*(1-perh)) Call buy(" 매수 1",Atstop,Def,opend+(highd(1)-lowd(1))*S1) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)

< 수식 4-23> 을보면스윙포인트를설정한뒤스윙방향의반대방향으로는스윙선을, 같은방향으로는돌파진입을이용한매매전략이다. 우선그림을보면서스윙포인트부터이해하기로하자. < 그림 0-19> 스윙포인트 주 ) 신호 : DD_Swing: 0.04, 0.04 적용 < 그림 4-19> 는연결선물지수 10분차트에 4% 스윙신호를적용한그림이다. 4% 스윙신호의의미는최고점대비 4% 하락하면최고점이스윙고점이되며, 최저점대비 4% 이상상승하면최저점이스윙저점이되는것을말한다. 그림을보면원호시점이최저점대비 4% 이상상승한시점이되어상승방향으로전환되고, 최저점이스윙저점 (SWINGLOW로표시 ) 으로확인된시점이된다. 현재는상승방향을유지하는가운데최고점이 114 전후로서 110 포인트전후가 4% 전환포인트가되는것을보여주고있다. 위와같은스윙포인트및스윙선을이용한매매전략을적용한그림을보기로하자. 64

< 그림 0-20> DD_Swing 주 ) 신호 : DD_Swing < 그림 4-20> 은스윙신호및스윙전략을적용한그림이다. 날짜가진행되면서스윙선위에서주가가형성되어있는상황이지속되어돌파매수진입이 3 번연속적으로발생하였다 ( 네모표시 ). 그뒤스윙선하향이탈이발생하면서스윙선을이용한매도진입이발생하는것을보여주고있다 ( 원표시 ). 따라서위전략은스윙지표를이용한방향성매매에단기돌파전략이결합된형태라는알수있다. 스윙포인트를설정하는또다른방법은변동성을이용하는방법이다. 위식을다소변형하여변동성스윙전략을작성해보자. 영역 : 전략 < 수식 0-24> DD_Swing(Range) 이름 : DD_Swing(Range) Input: perl(4.9), perh(10), len1(100), s1(0.37), s2(2.7) Var20=high-low Var21=mov(Var20,len1,S) If high>=var31+var21*perl And Var1(1)<>1 Then Var1=1 Var3=high

If low<=var3-var21*perh And Var1(1)<>-1 Then Var1=-1 Var31=low If low<var31 Then Var31=low If high>var3 Then Var3=high If tdate<>tdate(1) Then Var50=currententrynum If currententrynum-var50=0 Then If ttime<1500 Then If Var1=-1 And high<var31+var21*perl Then Call buy(" 매수 ",Atstop,Def, Var31+var21*Perl) Call sell(" 매도 1",Atstop,Def,opend-(highd(1)-lowd(1))*S1) If Var1=1 And low>var3-var21*perh Then Call sell(" 매도 ",Atstop,Def, Var3-var21*Perh) Call buy(" 매수 1",Atstop,Def,opend+(highd(1)-lowd(1))*S1) If currententrynum-var50=1 Then If ttime<1500 Then If Var1=-1 And high<var31+var21*perl Then Call buy(" 매수 2",Atstop,Def, Var31+var21*Perl) If Var1=1 And low>var3-var21*perh Then Call sell(" 매도 2",Atstop,Def, Var3-var21*Perh) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) 66

< 수식 4-24> 를보면고가 - 저가인 Range를이용해서변동성를계산하고변동성을이용한 swing point 및스윙선을사용해서매매를하는전략식이다. 전략식은 % 를이용하는경우와동일하게적용하였다. 적용된그림을보자. < 그림 0-21> DD_Swing(Range) < 그림 4-21> 은 < 그림 4-20> 과동일한구간에전략을적용한그림이다. 스윙선위에가격이위치하고있어매수방향만매매하는형태를보이고있는데, < 그림 4-20> 과다르게 8월 26일에도스윙선위에주가가위치하고있어신규매도가발생하지않았다는것을알수있다. 이제추세선, 지지 / 저항선전략들에대해서모두알아보았다. 여기서설명한전략이외에도무수히많은진입전략이가능하다는것을이해하기바라며, 여기까지의전략들의과거테스트결과를알아보기로하자.

< 표 0-17> 테스트결과비교 ( 추세선, 선형회귀선, 가격채널 ( 피보나치 )) 평가항목 DD_TrendLine DD_LRS DD_Channel(Fibo) 총손익 84,027.20 82,981.46 81,033.54 평균손익 94.95 95.16 90.14 최대손실 -1,086.88-878.74-1,374.66 총매매수 885 872 899 연속이익매매수 7 9 7 연속손실매매수 10 10 8 최대자본인하액 -4,801.51-3,598.05-3,995.77 승률 47.80 48.62 49.05 손익비 1.62 1.65 1.62 평균손익비 1.77 1.74 1.68 보상비율 17.50 23.06 20.28 변수값 11,0.36,2.7 2.1,56,2.7 200,0.382,0.37,2.7 주 ) 필수적으로보유해야할바수 : 100, DD_Channel(Fibo): 200 < 표 0-18> 테스트결과비교 ( 스윙, 스윙 ( 레인지 )) 평가항목 DD_Swing DD_Swing(Range) 총손익 78,292.85 71,957.00 평균손익 93.99 101.35 최대손실 -919.18-1,632.56 총매매수 833 710 연속이익매매수 7 7 연속손실매매수 8 6 최대자본인하액 -4,457.04-3,110.42 승률 47.18 51.55 손익비 1.61 1.73 평균손익비 1.80 1.63 보상비율 17.57 23.13 변수값 0.009, 0.017, 0.37, 2.7 4.9, 10, 0.37, 2.7 주 ) 필수적으로보유해야할바수 : 100 68

< 표 4-17> 의전략들이유용한결과를나타냈다. 총손익은 DD_TrendLine전략이, 평균손익과승률, 손익비와보상비율은 DD_Swing(Range) 가높게나타났다. 최대자본인하액및최대손실은 DD_LRS전략이낮게나타났으며, 평균손익비는 DD_Swing전략이높게나타났다. 전반적으로추세선및지지 / 저항선을이용한매매전략에서는수익곡선의상승유지가여타전략들보다다소좋은것이특징이었다. 그럼이제모형분석전략에대해서알아보기로하자. 4. 모형 (Geometric Pattern) 분석전략 모형분석이란기하학적인패턴 (Geometric Pattern) 분석을말한다. 일반적인바 (Bar) 나캔들 (Candle) 패턴분석과구분하여사용하기위해서모형분석이라는명칭을사용한다. 흔히알고있는삼각형, 머리어깨천정형, 바닥형등이해당된다. 여기서전략으로사용할모형들을간단히설명해보면다음과같다. 모형고점 / 저점테스트모형사각모형삼각형, 쐐기형 < 표 0-19> 모형내용고점, 저점을테스트하는모형들을이용한전략이중바닥형, 천정형 (Double Bottom, top) 상승함정 (Bull Trap), 하락함정 (Bear Trap) 위두모형을내포한전략수렴모형인사각형모형을이용한전략수렴모형인삼각형과쐐기모형을동시에사용한전략 그러면각각의전략들을자세히살펴보기로하자.

(1) 고점, 저점테스트모형전략 직전의고점및저점을테스트하면서전환포인트를만드는모형을이용한매매전략이다. 이중바닥 / 천정형을대표로꼽을수있다. < 그림 0-22> 고점, 저점테스트모형이중천정형이중바닥형상승함정하락함정 이러한모형들은결국직전의고저를테스트하는형태로설명이가능해진다. 그러면전략식을작성해보도록하자. < 수식 0-25> DD_GPattern(HiLoTest) 영역 : 전략이름 : DD_GPattern(HiLoTest) Input: s1(0.37), s2(2.7), len1(0.88) Var1=highd(1)-lowd(1) Var2=max(highd(1),highd(2)) Var3=min(lowd(1),lowd(2)) If tdate<>tdate(1) Then Var50=currententrynum Var10=Atr(20,1)*len1 If tdate<>tdate(1) Then Var30=0 Var31=0 Cond1=False Cond2=False 70

Else If close>var2+var10 Then Cond1=True If close <var3-var10 Then Cond2=True If close>=var2-var10 And close<=var2+var10 And Cond1=False Then Var30=1 Else Var30=0 If close>=var3-var10 And close<=var3+var10 And Cond2=False Then Var31=1 Else Var31=0 If currententrynum-var50=0 Then If ttime<1500 Then If Var31=1 Then If high<var3+var10 Then Call buy(" 매수 ",Atstop,Def,Var3+var10) Else Call buy(" 매수 ",Atstop,Def,hhv(1,high,2)) If Var30=1 Then If low>var2-var10 Then Call sell(" 매도 ",Atstop,Def,Var2-var10) Else

Call sell(" 매도 ",Atstop,Def,llv(1,low,2)) Call buy(" 매수 1",Atstop,Def,opend+var1*s1) Call sell(" 매도 1",Atstop,Def,opend-var1*S1) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) If position=1 And entryname = 매수 Then If low>var2-var10 Then Call exitlong(" 청산 1",Atstop,Var2-var10) If position=-1 And entryname = 매도 Then If high<var3+var10 Then Call exitshort(" 청산 1",Atstop,Var3+var10) < 수식 4-25> 는 2일동안의최고값의일정수준아래위를레벨로설정하고, 2 일동안의최저값의일정수준아래위를레벨로설정한다. 종가가형성되는시점에서고가레벨에서는매도를, 저가레벨에서는매수하는전략으로구성되어있다. 따라서이중천정형이나상승함정이발생하면매도, 이중바닥형이나하락함정이발생하면매수하게된다. 또한청산전략에서도모형형성실패시청산이발생하도록구성되어있다. 여기에추가진입방법으로돌파매매를병행하였다. 적용된그림은다음과같다. 72

< 그림 0-23> DD_GPattern(HiLoTest) 주 ) 신호 : DD_GPattern(HiLoTest) < 그림 4-23> 은진입의경우로서원호로표시된 2일간저점을이용해서저점대비상단선과하단선을작성한다. 네모로표시된부분처럼하단선을종가가하향이탈하지않을경우상단선을돌파하는시점에서매수진입을한그림이다. 다음청산1 이발생한그림을보기로하자. < 그림 0-24> DD_GPattern(HiLoTest) 주 ) 신호 : DD_GPattern(HiLoTest)

< 그림 4-24> 를보면직전고점을테스트하면서시가가시작하였으나결국매도진입이발생하였고 ( 원호 ) 진입이후저점레벨까지하락하여 청산1 로청산되는매매가발생하였다. 실제로많이발생하지는않는청산조건이지만기존진입과의미가상통하는청산전략임을알수있다. (2) 사각모형전략 사각모형 (Rectangle) 을이용한매매전략으로서사각모형을수렴모형으로간주하고, 수렴모형돌파방향으로진입하는전략을구사하게된다. 사각형을설정하는다양한방법이있는데그중한가지유용한방법을이용해서전략식을작성해보도록하자. 영역 : 전략 < 수식 0-26> DD_Rectangle 이름 : DD_Rectangle Input: len1(9), len2(17), ratio(0.3), factor(1.7), factor1(0.07), s1(0.37), s2(2.7) Var1=hhv(1,high,len1) Var2=llv(1,low,len1) Var3=var1-var2 Var11=hhv(1,high,len2,len1) Var12=llv(1,low,len2,len1) Var13=var11-var12 Cond1=False If Var3>0 And Var13>0 Then If Var3/var13<=ratio And Var3<=Atr(len1)*factor Then Cond1=True If tdate<>tdate(1) Then Var50=currententrynum 74

If currententrynum-var50<=3 Then If ttime<1500 Then If Cond1=True Then Call buy(" 매수 2",Atstop,Def,Var1+Atr(20)*factor1) Call sell(" 매도 2",Atstop,Def,Var2-Atr(20)*factor1) If currententrynum-var50=0 Then If ttime<1500 Then Call buy(" 매수 1",Atstop,Def,opend+(highd(1)-lowd(1))*s1) Call sell(" 매도 1",Atstop,Def,opend-(highd(1)-lowd(1))*S1) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) < 수식 4-26> 을보면현재의주가채널과과거일정기간전의주가채널을비교하는방법에채널의크기및변동성의크기를고려해서현재사각형모형이진행되는지를판단하게된다. 우선진입방법은매매가없을경우에는돌파전략으로진입하게되며하루에 4 번까지사각형형성및돌파방향으로진입하는방법을사용하였다. 적용된그림을보자.

< 그림 0-25> DD_Rectangle 주 ) 신호 : DD_Rectangle < 그림 4-25> 를보면장시작이후매수로진입하였으나매수이후상당히긴기간동안횡보가발생하여사각형모형이형성되었다. 그뒤사각형의하단을하향이탈하는순간매도진입이발생하는것을보여주고있다. 변수값조절에따라서사각형발생빈도가상당히큰차이를보인다점을기억해두자. (3) 삼각형 (Triangle), 쐐기형 (Wedge) 전략 삼각형은사각모형과마찬가지로수렴형패턴이고, 하락쐐기모형은상승추세에서재상승을, 상승쐐기형은하락추세에서재하락을의미하는진행형패턴으로서사용된다. 여기서조심해야할것은쐐기형패턴이진행형으로만사용되지않고, 전환형으로충분히사용된다는것이다. 따라서직전추세의진행여부에관계없이쐐기형패턴이형성되면형성되는반대방향으로매매를하는것이보다일반적이다. 76

영역 : 전략 < 수식 0-27> DD_Triangle,Wedge 이름 : DD_Triangle, Wedge Input: len(8), s1(0.37), s2(2.7) slv1=slva(1,low,len,len) slv2=slva(2,low,len,len) slb1=slba(1,low,len,len) slb2=slba(2,low,len,len) shv1=shva(1,high,len,len) shv2=shva(2,high,len,len) shb1=shba(1,high,len,len) shb2=shba(2,high,len,len) If slb2>slb1 Then low_trendline =(slv1-slv2)/(slb2-slb1)*slb1+slv1 low_radian=(((slv1-slv2)/slv2)*100)/(slb2-slb1) If shb2>shb1 Then high_trendline =(shv1-shv2)/(shb2-shb1)*shb1+shv1 high_radian=(((shv1-shv2)/shv2)*100)/(shb2-shb1) Var1=round(atn(low_radian)*180/pi,2) Var2=round(atn(high_radian)*180/pi,2) If Var1>0 And Var2>0 And Var1>var2 And high_trendline>low_trendline Then ' 상향쐐기형 Cond1=True Else Cond1=False If Var1<0 And Var2<0 And Var1>var2 And high_trendline > low_trendline Then ' 하향쐐기형 Cond2=True Else Cond2=False If Var1>0 And Var2<0 And high_trendline>low_trendline Then ' 삼각형 Cond3=True Else Cond3=False Var10=highd(1)-lowd(1) If tdate<>tdate(1) Then Var50=currententrynum If ttime<1500 Then

If currententrynum-var50=0 Then If Cond1=True And low>low_trendline Then Call sell(" 쐐기매도 ",Atstop,Def,low_trendline ) If Cond2=True And high<high_trendline Then Call buy(" 쐐기매수 ",Atstop,Def,high_trendline ) If Cond3=True And low>low_trendline And high<high_trendline Then Call buy(" 삼각매수 ",Atstop,Def,high_trendline ) Call sell(" 삼각매도 ",Atstop,Def,low_trendline ) Call buy(" 매수 ",Atstop,Def,opend+var10*S1) Call sell(" 매도 ",Atstop,Def,opend-var10*S1) If ttime<1500 Then If currententrynum-var50=1 Then If Cond1=True And low>low_trendline Then Call sell(" 쐐기매도 ",Atstop,Def,low_trendline ) If Cond2=True And high<high_trendline Then Call buy(" 쐐기매수 ",Atstop,Def,high_trendline ) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-Atr(20)*S2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+Atr(20)*S2) < 수식 4-27> 을보면우선두점의 Swing High와 Low를설정하여추세선을작성하고, 추세선의방향및위치를고려해서상향쐐기, 하향쐐기, 삼각형을판단하게된다. 이렇게모형을판단하고상향쐐기형에서는매도만을, 하향쐐기형에서는매수만을적용하고삼각형일경우에는매수, 매도를모두시행하는방법을사용하였다. 하루중첫번째매매에서만이와같은전략과돌파형태의전략을병행해서사용하게되며, 두번째매매가발생할때에는쐐기형만적용하였다. 78

< 그림 0-26> DD_Triangle,Wedge 주 ) 신호 : DD_Trendline < 그림 4-26> 을보면상단선이한번변화되는가운데상향쐐기형이발달되고있었으며, 하단선을하향이탈하면서매도가발생한예를보여준다. < 그림 0-27> DD_Triangle,Wedge

< 그림 4-27> 은삼각형패턴이형성되고난뒤하단을하향이탈하면서매도가발생한예제이다. 사각형및쐐기형을이와같이설정할수도있으며앞서설명한추세선전략에서사용한코딩을이용해서도사용할수있다. 그러면여기서위세가지모형전략에대한과거테스트결과를보기로하자. 평가항목 < 표 0-20> 모형분석전략테스트결과 DD_GPattern DD_Rectangle (HiLoTest) DD_Triangle,Wedge 총손익 91,085.36 87,167.71 76,332.02 평균손익 107.54 96.75 82.25 최대손실 -961.12-1,120.12-1,120.12 총매매수 847 901 928 연속이익매매수 7 9 10 연속손실매매수 9 8 9 최대자본인하액 -4,131.54-3,909.35-4,711.45 승률 48.88 48.83 47.31 손익비 1.74 1.68 1.54 평균손익비 1.82 1.76 1.71 보상비율 22.05 22.30 16.20 변수값 0.37, 2.7, 0.88 주 ) 필수적으로보유해야할바수 : 100 9,17,0.3,1.7,0.07, 0.37,2.7 8, 0.37, 2.7 테스트결과를보면 DD_GPattern(HiLoTest) 가총손익, 평균손익, 최대손실, 손익비, 평균손익비에서우월한결과를나타냈으며, DD_Rectangle은최대자본인하액및보상비율에서나은결과를나타내었다. 모형을설정하는코딩부분은위의전략이아니더라도유용하게사용할수있는코딩이다. 이제부터는패턴분석전략들을알아보기로하자. 80

5. 패턴 (Pattern) 분석전략 가격패턴 (price pattern) 이란하나의봉의패턴, 2~3개의봉의형태를분석하는방법을말한다. 우선가격의봉에대해서알아보면미국식봉 (bar) 차트와일본식캔들스틱 (candlestick) 차트로구분된다. 각각봉형태의표현방법은다르나, 봉패턴은서로중첩되는경우가많다. 대표적인패턴분석방법은일본식캔들스틱분석방법 ( 하라미, 도찌등 ) 으로서선진국에서도널리사용되고있다. 반면미국식봉패턴분석방법도다양한방법이존재하는데앞서설명한 Inside Day나 Narrow Range 등이봉패턴분석방법에속한다. 여기서는일본식, 미국식패턴분석방법중유용한방법을소개하고자한다. 대부분의데이트레이딩매매전략은패턴을이용하는방법이기술적지표를이용하는방법보다더유용하다. 또한연구자들에따라서는뒤에서설명할기술적지표를이용하는방법보다패턴을이용한매매전략이더범용적 (Robust) 이고, 실용적이라고주장한다. 반면, 다른연구자들은패턴분석전략이과거주가에과최적화되는심각한문제점이있다고주장을한다. 어느쪽이든패턴을이용한단기매매전략에는상당한개발및노력을기울이는것이바람직하다. 왜냐하면단기추세의움직임은패턴으로설명하는것이유용하며, 다양한전략들을개발할수있기때문이다. 그러면상승갭, 하락갭을이용한매매전략부터알아보기로하자.

(1) 갭 (Gap) 전략 갭이란전일고가보다시가가높게시작하는상승갭 (gap up) 과전일저가보다시가가낮게시작하는하락갭 (gap down) 을의미한다. 갭이발생한다는것은장시작전에가격에영향을주는요인이많다는것을의미한다. 그러므로매매전략작성시중요한의미를갖는다. 매매방법은다음과같이정리할수있다. 매매갭업 (gap up) 매수갭다운 (gap down) 매도갭필 (gap fill) 매수 / 매도 < 표 0-21> 갭매매방법설명전일고가보다시가가크면매수방향으로매매전일저가보다시가가적으면매도방향으로매매전일고가보다시가가크고전일고가를하향돌파하면매도전일저가보다시가가적고전일저가를상향돌파하면매수 크게갭업매매와갭필매매로구분되는데, 여기서는갭이발생하였을때이두가지매매방법을동시에적용하는방법으로전략을작성하기로하자. < 수식 0-28> DD_Pattern_Gap 영역 : 전략이름 : DD_Pattern_Gap Input: ups(0.1), dns(0.1), gapup(0.29), gapfill(0.18), s2(2.7) If opend>highd(1) Then Var1=100*((opend-highd(1))/highd(1)) If opend<lowd(1) Then Var1=100*((lowd(1)-opend)/lowd(1)) If tdate<>tdate(1) Then Var50=currententrynum Cond1=exitdate(1)=tdate And position(1)=1 82

Cond2=exitdate(1)=tdate And position(1)=-1 If currententrynum-var50<=2 Then If ttime <1500 Then If opend>highd(1) And Var1>ups Then If Cond1=False Then Call buy("gapup매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*gapup) If Cond2=False Then Call sell("gapfill매도 ",Atstop,Def, _ max(highd(1),opend-(highd(1)-lowd(1))*gapfill)) If opend<lowd(1) And Var1>dns Then If Cond2=False Then Call sell("gapdown매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*gapup) If Cond1=False Then Call buy("gapfill매수 ",Atstop,Def,_ min(lowd(1),opend+(highd(1)-lowd(1))*gapfill)) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) < 식 4-28> 은갭이일정비율이상발생할경우갭업돌파전략과갭필돌파전략을적용한식이다. 하루의매매횟수는 3번으로제한하였으며 ATR 추적스탑을사용하였다. 적용된그림을보자.

< 그림 0-28> DD_Pattern_Gap 주 ) 신호 : 진입, 청산가격 < 그림 4-28> 을보면 9월 8일갭다운이발생하여장중에갭필매수진입이발생되었다. 그다음날인 9월 9일에는전일고가보다시가가높은갭업이발생하였고, 갭업매수로이어지면서수익을발생하였다. 9월 15일에는갭이발생하지않아매매가일어나지않게된다. 이와같이매매가일어나지않는날도자주발생하는특성을보이는전략이다. 여기서추가적인갭전략을개발해보기로하자. 1) 부분갭 (Partial Gap) 부분갭이란전일고가 ( 저가 ) 와금일시가의차이를갭이라고정의하지않고, 전일종가와금일시가의차이를이용해서갭으로인정하는것을말한다. 즉전일종가보다시가가크면갭업, 전일종가보다시가가적으면갭다운으로인정하는것이다. 따라서종가보다어느정도이상상승해야갭업으로인정하고, 종가보다어느정도하락해야갭다운으로인정하는지를결정하는것이주요변수가된다. 84

전략식은다음과같다. 영역 : 전략 < 수식 0-29> DD_Pattern_PartialGap 이름 : DD_Pattern_PartialGap Input: ups(0.5), dns(0.3), gapup(0.34), gapfill(0.19), s2(2.7) If opend>=closed(1) Then Var1=100*((opend-closed(1))/closed(1)) If opend<closed(1) Then Var1=100*((closed(1)-opend)/closed(1)) If tdate<>tdate(1) Then Var3=0 Else If i_position<>0 And i_position(1)<>i_position Then Var3=var3+1 If tdate<>tdate(1) Then Var50=currententrynum Cond1=exitdate(1)=tdate And position(1)=1 Cond2=exitdate(1)=tdate And position(1)=-1 If currententrynum-var50<=1 Then If ttime <1500 Then If opend>closed(1) And Var1>ups Then If Cond1=False then Call buy("gapup매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*gapup) If Cond2=False then Call sell("gapfill매도 ",Atstop,Def,max(closed(1),opend-(highd(1)-lowd(1))*gapfill)) If opend<closed(1) And Var1>dns Then

If Cond2=False Then Call sell("gapdown매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*gapup) If Cond1=False Then Call buy("gapfill 매수 ",Atstop,Def,min(closed(1),opend+(closed(1)-lowd(1))*gapfill)) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(10)*s2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(10)*S2) < 수식 4-29> 가적용된그림은갭전략과유사하므로생략한다. 여기서두전략의과거테스트결과및누적수익곡선을살펴보기로하자. < 표 0-22> 테스트결과비교 (Gap, Partial Gap) 평가항목 DD_Pattern_Gap DD_Pattern_PartialGap 총손익 67,149.35 78,109.62 평균손익 149.22 94.11 최대손실 -963.31-907.44 총매매수 450 830 연속이익매매수 8 7 연속손실매매수 7 8 최대자본인하액 -4,791.24-5,142.08 승률 51.11 47.71 손익비 2.06 1.61 평균손익비 1.97 1.77 보상비율 14.02 15.19 변수값 0.1,0.1,0.29,0.18,2.7 0.5,0.3,0.34,0.19,2.7 주 ) 필수적으로보유해야할바수 : 100 86

테스트결과 DD_Pattern_Gap 전략이 450건매매에서평균손익약 15만원이발생하여적은매매에서큰수익이발생함을알수있다. 여기서하나좀더자세히관찰할부분이누적수익곡선의발달과정이다. DD_Pattern_Gap의누적수익곡선을보기로하자. < 그림 0-29> DD_Pattern_Gap 누적수익곡선 주 ) DD_Pattern_Gap 전략 그림을보면최근장세에서꾸준한수익증가가발생하고있고, 전체적으로선형성이강하다는것을알수있다. 앞서 3장에서살펴본바와같이최근장에서수익증가가유지되기힘든데, 이전략은보다좋은선형성을보여주고있다. 이러한현상은 DD_Pattern_PartialGap 에서발견할수있다.

(2) 강도 (Power) 분석전략 봉이형성될때는 4가지가격에대한정보가있다. 즉시가, 고가, 저가, 종가이다. 이러한 4가지가격이어떻게형성되는지를분석하는것이패턴분석이되며, 매수나매도강도에중심을두어분석하는방법의기초가된다. 앞서설명한 DD_RangeBreak전략에서전일의고가-저가인 Range를이용해서돌파방향으로매매하는전략을구사하였다. 역시전일의움직임이그다음날주요지지 / 저항선으로사용되어전일 Range가적으면빠른돌파, 크면늦은돌파로작동하게된다. 이와마찬가지로전일시가, 고가, 저가, 종가의위치로매수 / 매도강도를분석하여다음날의돌파시점으로사용할수있게된다. 예를들어오늘봉이양봉이면매수강도를종가 - 저가로설정하고, 매도강도는고가 - 종가로설정하여다음날의지지 / 저항선으로사용하는것을말한다. 이러한다양하고세밀한패턴분석을통해서 DD_RangeBreak 전략은좀더높은수익과높은승률을가진전략으로진화된다. 연구및개발을독자의몫으로남겨두고간단하게두가지전략을만들어보기로하자. 1) Max Power 전략 Max Power 전략은전일고가와종가, 종가와저가의움직임중에서큰움직임을다음날의지지 / 저항선으로사용하는전략이다. 전략식은다음과같다. 88

영역 : 전략 < 수식 0-30> DD_Pattern_MaxPower 이름 : DD_Pattern_MaxPower Input: s1(0.48), s2(2.7) Var1=highd(1) Var2=closed(1) Var3=lowd(1) Var4=closed(1) If abs(var1-var4)>=abs(var2-var3) Then Var10=abs(Var1-var4) Else Var10=abs(Var2-var3) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Ttime<1500 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,opend+var10*S1) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-var10*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) 위식은전일의고가 - 종가와종가 - 저가중큰값을사용해서돌파전략으로작성한식이다. 앞서반복적인설명이있었기때문에적용그림은생략한다.

2) TrueRange 이용전략 전일봉뿐만이아니라전전일의흐름도같이반영하여금일의지지 / 저항선을작성할수있다. 즉 TR(=TrueRange) 를이용하는방법이다. 영역 : 전략 < 수식 0-31> DD_Pattern(TrueRange) 이름 : DD_Pattern(TrueRange) Input: s1(0.37), s2(2.7) Var1=highd(1) Var2=lowd(1) Var3=closed(2) Var10=max(Var1,Var3)-min(Var2,Var3) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If Ttime<1500 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,opend+var10*S1) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-var10*s1) If position<>0 Then Call exitlong(" 매수청산 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 매도청산 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*s2) 역시지지 / 저항선을전일의 TR을이용하였을뿐전식과차이는없다. 그러면여기서테스트결과를보기로하자. 90

< 표 0-23> 테스트비교결과 (MaxPower, TrueRange) 평가항목 DD_Pattern_MaxPower DD_Pattern(TrueRange) 총손익 92,911.19 89,094.08 평균손익 99.16 103.00 최대손실 -906.98-987.45 총매매수 937 865 연속이익매매수 7 7 연속손실매매수 7 8 최대자본인하액 -4,178.53-3,822.34 승률 50.27 49.71 손익비 1.69 1.74 평균손익비 1.67 1.76 보상비율 22.24 23.31 변수값 0.48,2.7 0.37,2.7 주 ) 필수적으로보유해야할바수 : 100 두가지모두 DD_RangeBreak 전략과유사한결과를나타냄을알수있으며 DD_Pattern_MaxPower전략의승률및총손익이다소좋아졌다는것을알수있다. 이와같이매수강도, 매도강도, 가장큰강도등을계량화하여새로운변형전략으로사용가능하며시장에부합되는알고리즘일수록더좋은향상이가능하다는것을기억하기바란다. (3) 연속패턴전략 연속패턴 (consecutive pattern) 전략이란연속적으로발생하는봉의형태를이용한매매전략을말한다. 역시패턴분석의기초적인부분으로서시가, 고가, 저가, 종가의흐름을말하는데보통다음과같은분석을의미한다. 연속시가상승 : 시가가연속적상승하는경우 연속고가상승 : 고가가연속적상승하는경우 연속저가상승 : 저가가연속적상승하는경우 연속종가상승 : 종가가연속적상승하는경우 위경우복수결합

다양한결합도가능하며변형도가능한데, 여기서 3봉연속고가상승과 3봉연속저가하락전략을작성해보도록하자. < 수식 0-32> DD_Pattern_Consec 영역 : 전략이름 : DD_Pattern_Consec Input: len1(3), len2(2), level(0.13), s2(2.7), s3(0.01) Var1=opend+(highd(1)-lowd(1))*level Var2=opend-(highd(1)-lowd(1))*level Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Var1<high Then If countwhen(high>high(1),len1)=len1 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,high+Atr(20)*S3) If Var2>low Then If countwhen(low<low(1),len2)=len2 Then If Cond2=False Then Call sell(" 매도 ",Atstop,Def,low-Atr(20)*S3) If position<>0 Then Call exitlong(" 추적스탑 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 추적스탑 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) 92

< 수식 4-32> 는고가가 3봉연속상승하면매수하고저가가연속하락하면매도하는전략식이다. 시가대비고가가전일 Range의 0.13배이상상승해야매수방향으로만매매를하고저가가전일 Range 대비 0.13배하락해야만매도방향으로매매하는제어를사용하였다. 또다른전략을작성해보자. < 수식 0-33> DD_Pattern_Consec(1) 영역 : 전략이름 : DD_Pattern_Consec(1) Input: len1(2), len2(2), level(0), s2(2.7), s3(0.01) Var1=opend+(highd(1)-lowd(1))*level Var2=opend-(highd(1)-lowd(1))*level Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Var1<=close Then If countwhen(close>open,len1)=len1 And countwhen(close>close(1),len1)=len1 _ And countwhen(high>high(1),len1)=len1 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,high+Atr(20)*S3) If Var2>close Then If countwhen(close<open,len2)=len2 And countwhen(close<close(1),len2)=len2 _ And countwhen(low<low(1),len2)=len2 Then If Cond2=False Then Call sell(" 매도 ",Atstop,Def,low-Atr(20)*S3) If position<>0 Then Call exitlong(" 추적스탑 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 추적스탑 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)

< 수식 4-33> 은 2봉종가가연속상승, 연속양봉, 연속고가상승이발생하면매수하고, 2 봉종가가연속하락, 연속음봉, 연속저가하락이발생하면매도하게된다. 시가보다종가가클경우에만매수, 적을경우에만매도하는제어를사용하였다. < 수식 4-33> 이적용된그림을보고두가지전략의과거테스트결과를보기로하자. < 그림 0-30> DD_Pattern_Consec 주 ) 신호 : DD_Pattern_Consec < 그림 4-30> 을보면그림에표시된숫자가연속상승 ( 하락 ) 횟수를나타내고있다. 9월 19일에는 2봉연속저가하락이계속적으로발생하였으나제어구문에영향을받아상당기간이후에매도가발생하였다. 9월 22일에도역시매도가발생하였다. 94

< 표 0-24> 테스트결과 평가항목 DD_Pattern_Consec DD_Pattern_Consec(1) 총손익 77,195.18 71,979.58 평균손익 116.43 84.98 최대손실 -1,118.69-883.00 총매매수 663 847 연속이익매매수 10 10 연속손실매매수 9 8 최대자본인하액 -3,105.38-2,987.64 승률 50.98 48.64 손익비 1.92 1.58 평균손익비 1.84 1.67 보상비율 24.86 24.09 변수값 3,2,0.13,2.7,0.01 2,2,0,2.7,0.01 주 ) 필수적으로보유해야할바수 : 100 테스트결과를보면둘다총손익은다소적은편이나, 평균손익은적정수준을나타내고있다. 최대손실및최대자본인하액도적은수준이며높은보상비율을나타내고있다. 또다른형태의조합이나연속매매방법들도유용한전략이될것으로판단할수있다. (4) 캔들패턴전략 일본식캔들스틱패턴을이용한전략을말한다. 캔들스틱패턴전략에는지속형및전환형패턴이있는데, 여기서는대표적인전환형패턴을이용한전략을작성해보도록하자. 사용될전환형패턴은다음과같다.

하나의봉 상승전환형 Hammer, Inverted Hammer Doji, Dragonfly Doji < 표 0-25> 전환형패턴 하나의봉 하락전환형 Hanging Man, Shooting Star, Doji, Gravestone 두개의봉 Bullish Engulfing, Piercing 두개의봉 Bearish Engulfing, Dark Cloud Cover 세개의봉 Morning Star 세개의봉 Evening Star < 표 4-25> 의패턴이외에도다양한전환형패턴이존재하며, 위의패턴도정의하기에따라상당히다른결과를나타내게된다. 여기서주의할것은너무엄격한조건으로서패턴을정의할경우매매건수가상당히줄어든다는것이다. 그럼전략식을작성해보도록하자. < 수식 0-34> DD_Pattern_Reversal 영역 : 전략이름 : DD_Pattern_ Reversal Input: s2(2.7), len1(3), len2(2), s3(0.9), s4(0.29) Var1=high-low ' 봉의 Range Var10=high+low If open>=close Then Var2=open-close ' 음봉 body Elseif close>open Then Var2=close-open ' 양봉 body Cond1=close(1)<open(1) And close>open And close>open(1) And close(1)>open 'bull engulfing Cond2=close(1)>open(1) And close<open And close<open(1) And close(1)<open 'bear engulfing Cond3=var2*2<min(open,close)-low And Var10*0.7 < max(open,close) 'hammer, hanging man Cond4=var2*2<high-max(open,close) And Var10*0.3 > min(open,close) 'inverted hammer 'shooting star Cond5= open=close 'doji Cond6= open=close And close>var10*0.7 'dragonfly doji Cond7= open=close And close<var10*0.3 'garvestone 96

Cond8=close(1)<open(1) And close>open And close>var10(1)*0.5 _ And close(1)>open And close<open(1) 'piercing Cond9=close(1)>open(1) And close<open And close<var10(1)*0.5 _ And close(1)<open And close>open(1) 'dark cloud ' 세개의봉 Cond10=close(2)>open(2) And Var1(2)>var1(1) And close(1)>open(1) _ And close(2)<close(1) And close(2)<open(1) _ And open>close And close>close(2) 'evening star Cond11=close(2)<open(2) And Var1(2)>var1(1) And close(1)<open(1) _ And close(2)>close(1) And close(2)>open(1) _ And open<close And close<close(2) 'morning star If ttime<1500 Then If opend<=close Then If llv(1,low,len1)=low Then If Cond4 Or Cond5 Or Cond6 Then Call buy(" 매수 ",Atstop,Def,high+Atr(20)*S3) If opend>close Then If hhv(1,high,len1)=high Then If Cond4 Or Cond5 Or Cond7 Then Call sell(" 매도 ",Atstop,Def,low-Atr(20)*S3) end If If ttime<1500 Then If opend<=close Then If llv(1,low,len2)=low Then If Cond11 Or Cond1 Or Cond8 Then Call buy(" 매수 ",Atstop,Def,high+Atr(20)*S4) If opend>close Then If hhv(1,high,len2)=high Then

If Cond10 Or Cond2 Or Cond9 Then Call sell(" 매도 ",Atstop,Def,low-Atr(20)*S4) If tdate<>tdate(1) Then Var50=currententrynum Cond50= tdate=exitdate(1) And position(1)=1 Cond49= tdate=exitdate(1) And position(1)=-1 If currententrynum-var50<=1 Then If ttime <1500 Then If opend>highd(1) Then If Cond50=False Then Call buy("gapup매수 ",Atstop,Def,opend+(highd(1)-lowd(1))*0.3)' If Cond49=False Then Call sell("gapfill매도 ",Atstop,Def,max(highd(1),opend-(highd(1)-lowd(1))*0.2)) If opend<lowd(1) Then If Cond49=False Then Call sell("gapdown매도 ",Atstop,Def,opend-(highd(1)-lowd(1))*0.3) If Cond50=False Then Call buy("gapfill매수 ",Atstop,Def,min(lowd(1),opend+(highd(1)-lowd(1))*0.2)) If position<>0 Then Call exitlong(" 추적스탑 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 추적스탑 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) 98

< 수식 4-34> 는전환패턴이발생하면매매를하도록구성되어있는데, 시가보다종가가커야매수방향, 시가보다종가가작아야만매도하는제어가포함되어있다. 또한상승전환일경우에는현재봉의저가가 3봉최저가를형성해야하며, 매도의경우에는현재봉의고가가 2봉최고가를형성하면매도하도록구성되어있어저가매수전략형태라할수있다. 추가적으로앞서설명한갭매매전략을 2번매매까지허용하도록하였다. 적용한그림은다음과같다. < 그림 0-31> DD_Pattern_Reversal 주 ) 신호 : DD_Pattern_Reversal < 그림 4-31> 을보면하락전환을예고하는도찌 (Doji) 가발생하고그다음봉에매도가발생하였다. 그러나가격이재차상승전환하는듯하였으나흑운형 (Dark Cloud Cover) 가발생하면서하락이가속화된국면을보여주고있다. 실제로패턴전략을작성할때제어가되어있다면전환패턴이그리자주발생하지않는다. 따라서장시작초기에돌파나연속형패턴을이용한전략을추가사용하게된다. 청산전략에서도전환형패턴은유용하게사용될것이라는것도짐작할수있다. 테스트결과는다음과같다.

< 표 0-26> 테스트결과 평가항목 DD_Pattern_Reversal 총손익 68,114.18 평균손익 121.20 최대손실 -1,019.81 총매매수 562 연속이익매매수 9 연속손실매매수 7 최대자본인하액 -4,547.17 승률 50.18 손익비 1.85 평균손익비 1.84 보상비율 14.98 변수값 2.7, 3, 2, 0.9, 0.29 주 ) 필수적으로보유해야할바수 : 100 테스트결과를보면매매건수가 562건에평균손익비가 12만원으로적은매매에서도상당한수준의수익을창출하고있음을알수있다. 여기까지가패턴분석을통한매매전략이다. 추가적인개발여지가많은부분이패턴전략이며, 실제로유용한매매전략의상당수가패턴을이용한매매전략분야에속한다. 따라서지속적이고세밀한관심을갖길바란다. 그럼이제부터기술적지표를이용한매매전략을작성해보자. 6. 기술적지표를이용한전략 기술적지표를이용해서진입전략을구현하는방법을말한다. 즉이동평균선이상승중이면상승추세, 스토케스틱지표가과매도권이면매수를고려하거나, 여러지표들을중첩하여같은방향신호가발생하면그방향으로매매하는방법등이있다. 또한기술적지표들을이용한매매전략은작성하기그리 100

힘들지않다는장점도가지고있다. 실제로널리사용되고는있으나그실효성에대해서의문시된다는의견이많다. 그이유는기술적지표가가지고있는변수값이미래에는변화가될가능성이크다는관점과다양한지표를결합하여사용하는방법이과최적화문제를피할수없다는의견이다. 따라서최소한의지표만을사용하거나, 필터 (Filter) 로만사용하기를권장하기도한다. 어쨌든기술적지표는진입방법에서주요한요소로사용된다. 기술적지표는가격의움직임을계량화하여추세및모멘텀을파악할수있게해주기때문이다. 우선가격에적용되는다양한기술적지표중에서대표적인지표들과신기술적지표라고하는오실레이터중알아두면유용한지표들은소개하면다음과같다. 구분가격에적용된기술적지표가격오실레이터거래량오실레이터 < 표 0-27> 기술적지표지표이동평균선, 그물망차트, 주가채널, 볼린저밴드, 파라볼릭사, 일목균형표, LRI Price ROC, MACD, CCI, TRIX, STOCHASTIC, RSI, LRS, DMI, R-SQUARED Volume ROC, CO, MFI < 표 0-28> 기술적지표활용법 구분 사용예 돌파및장단기교차 가격이이동평균선돌파, 장단기이동평균선교차 신호선교차 MACD 와 MACD Signal 선교차 기준선교차 Price ROC 가 0선교차 과매수, 과매도활용 RSI 지표가 30 및 70 선교차 가격은저점을낮추는데지표는저점을높이는 다이버전스 (Divergence) 활용 Positive Divergence 및가격은고점을높이는데지 표는고점을낮추는 Negative Divergence 활용

기술적지표를이용하면다양한전략개발이가능하며, 변형또한무수히많다. 어떠한형태로전략을개발하든돌파확인진입방법이되거나, 저가매수방법으로개발하게된다. 청산전략에서도지표들이자주사용된다는점을명심하고, 기술적지표를이용한매매전략에대해몇가지를알아보기로하자. (1) 이동평균선 이동평균선을이용한매매전략을말하는데, 상당히많은지표들이이동평균선를이용하고있다. 크게두가지로서추세를파악하여매매를제어하기위한필터 (Filter) 형태로가장많이사용되고, 두번째로실질적인진입전략으로사용된다. 여기서는필터로사용한방법에대해서알아보자. 필터로이동평균선을사용하는이유는추세를파악하기위함이다. 즉장단기이동평균선들이정배열되어있다면상승추세, 역배열되어있다면하락추세, 배열관계가불분명하다면횡보추세로구분하는방법이가장일반적인방법이다. 앞서설명한 RangeBreak전략을이동평균선을사용한매수, 매도를제어하는전략식으로작성해보자. 영역 : 전략 < 수식 0-35> DD_indicator_MAFilter 이름 : DD_indicator_MAFilter Input: s1(0.37), s2(2.7), s3(0.37), malen1(3), malen2(8), malen3(15) Var1=highd(1)-lowd(1) Cond1= tdate=exitdate(1) And position(1)=1 Cond2= tdate=exitdate(1) And position(1)=-1 If malen1*1.5 <=malen2 And malen2*1.5<=malen3 Then Var10=mov(close,malen1,S) Var11=mov(close,malen2,S) Var12=mov(close,malen3,S) Cond10=var10>var11 And Var11>var12 102

Cond11=var10<var11 And Var11<var12 If ttime<1500 Then If Cond10 Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,opend+var1*s1) If Cond11 Then If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-var1*S1) End if If Cond10 =False And Cond11 =False Then If Cond1=False Then Call buy(" 매수 ",Atstop,Def,opend+var1*s3) If Cond2=False Then Call sell(" 매도 ",Atstop,Def,opend-var1*S3) If position<>0 Then Call exitlong(" 매수추적스탑 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2) Call exitshort(" 매도추적스탑 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) < 수식 4-35> 는세가지장단기이동평균선이정배열일때는매수만, 역배열일때는매도만하고, 정배열도역배열도아닐경우에는양방향으로매매하도록구성된식이다. 적용된그림을보자.

< 그림 0-32> DD_indicator_MAFilter 주 ) 단순이동평균선 3, 8, 15 적용 < 그림 4-32> 를보면 9월 17일은역배열이발생함으로서매도진입이발생한것을보여주고있고, 9월 18일은이동평균선이정배열도, 역배열도아닌시점에서매도가발생한사례이다. 이러한필터방법은 ADX, RSI, MACD 등대부분의기술적지표를이용할수있다. (2) 오실레이터 (Oscillator) 오실레이터는일정구간이나기준선을중심으로순환반복하는지표를말하는데, 대부분의오실레이터지표는가격모멘텀을잘표현한다. 다양한오실레이터가있는데여기서는스토케스틱지표를이용한매매전략을만들어보자. 104

영역 : 전략 < 수식 0-36> DD_indicator_Stoch 이름 : DD_indicator_ Stoch Input: len1(25), len2(6), s1(0.37), s2(2.7), level(50) Var1=slowk(len1,len2) If tdate<>tdate(1) Then Var10=9999999 Var11=0 Var50=currententrynum Cond1=False Cond2=False If crossup(var1,level) Then Var10=high If crossdn(var1,level) Then Var11=low Cond1=crossup(Var1, level) Cond2=crossdn(Var1, level) If currententrynum-var50=0 Then If ttime<1500 Then If opend< closed(1) Then Call buy(" 매수 ",Atstop,Def,Var10) If opend> closed(1) Then Call sell(" 매도 ", Atstop,Def,Var11) If Var1>level Then Call buy(" 매수 1",Atstop,Def,opend+(highd(1)-lowd(1))*s1) If Var1<level Then Call sell(" 매도 1",Atstop,Def,opend-(highd(1)-lowd(1))*s1) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1) - atr(20)*s2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) If Cond2 Then Call exitlong(" 지표청산 ",Atstop,llv(1,low,3)) If Cond1 Then Call exitshort(" 지표청산 ",Atstop,hhv(1,high,3))

< 수식 4-36> 은스토케스틱지표가일정수준 (50) 을돌파하는시점의고가, 저가를이용해서전일종가보다금일시가가적으면매수방향으로, 전일종가보다금일시가가크면매도방향으로매매를하도록구성되어있다. 또한하루중일정수준이상계속유지되는경우에도매매가발생하도록돌파전략을동시에사용하였다. 청산전략에는추적스탑이외에일정수준 (50) 을교차할때 3봉고저를이용한청산전략을함께적용하였다. 적용된그림을보자. < 그림 0-33> DD_indicator_Stoch 주 ) 지표 : 스토케스틱적용 < 그림 4-33> 을보면 3월 31일스토케스틱지표가 50선을하회하고있어돌파진입 ( 매도 ) 이발생하였고, 4월 1일에는전일종가보다낮은상태에서 50선돌파 ( 수직선 ) 로매수가발생한사례를표시하였다. 그러면여기서두가지스토케스틱지표를이용하는돌파전략을작성해보자. 106

영역 : 전략 < 수식 0-37> DD_indicator_DualStoch 이름 : DD_indicator_DualStoch Input:, len1(7), len2(10), ob1(90), os1(10), ob2(70), os2(30), level(0.01), s2(2.7) Var1=fastk(len1) Var2=fastk(len2) Cond1=var1>ob1 And Var2>ob2 ' 과매수 Cond2=var1<os1 And Var2<ob2 ' 과매도 Cond50= tdate=exitdate(1) And position(1)=1 Cond49= tdate=exitdate(1) And position(1)=-1 If ttime<1500 Then If Cond50=False Then If Cond1 Then If opend<close Then Call buy(" 매수 ",Atstop,Def,high+Atr(20)*level) If Cond49=False Then If Cond2 Then If opend>close Then Call sell(" 매도 ",Atstop,Def,low-Atr(20)*level) If position<>0 Then Call exitlong(" 추적스탑 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*s2) Call exitshort(" 추적스탑 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2)

< 수식 4-37> 은두가지 Fast Stochastic을이용해서서로다른수준의과매수권에진입하면매수, 과매도권에진입하면매도하는전략식이다. 적용된그림을보자. < 그림 0-34> DD_indicator_DualStoch 주 ) 지표 : 스토케스틱 (fast) < 그림 4-34> 를보면 Fast Stochastic지표가각각 70, 90이하로진입하게되면매도하게되는데, 이틀동안과매도권에서두번의매도진입이발생하여수익이발생한것을알수있다. 이러한오실레이터전략들은지표들마다기본개념이나계산식이유사하기때문에 RSI, CCI 등다른지표를이용해서다양한전략들을개발할수있다 (3) 다이버전스 (Divergence) 다이버전스는오실레이터를활용하는방법중가장중심이되는것이라할수있다. 오실레이터가모멘텀을나타내고있기때문에모멘텀의강화및약화현상인다이버전스를자주활용하게된다. 즉상승다이버전스는가격의저점이낮아지는데지표의저점은높아져곧추세가상승으로전환할것이라는것을설명해주고, 하락다이버전스는가격의고점이높아지는데지표의저점이 108

낮아져곧하락전환할것이라는것을나타내준다. RSI지표의다이버전스특성을이용한전략을작성해보자. < 수식 0-38> DD_indicator_SDIV 영역 : 전략이름 : DD_indicator_SDIV Input: len1(14), len2(50), delay(4), level(0.16), s1(0.37), s2(2.7) Var1=rsi(close,len1) If Var1>llv(1,Var1,len2) And low<=llv(1,low,len2) Then Var11=1 Else Var11=-1 If Var1<hhv(1,Var1,len2) And high>=hhv(1,high,len2) Then Var12=1 Else Var12=-1 Cond1=hhv(1,Var11,delay)=1 And Var1>llv(1,Var1,len2) And Var1<60 Cond2=hhv(1,Var12,delay)=1 And Var1<hhv(1,Var1,len2) And Var1>40 If tdate<>tdate(1) Then Var50=currententrynum If currententrynum-var50=0 Then If ttime<1500 Then If Var1>40 And Cond2=False Then Call buy(" 매수 1",Atstop,Def,opend+(Highd(1)-lowd(1))*s1) If Var1<60 And Cond1=False Then Call sell(" 매도 1",Atstop,Def,opend-(Highd(1)-lowd(1))*s1) If currententrynum-var50<=2 Then If ttime<1500 Then If Cond1 And opend-(highd(1)-lowd(1))*level < close Then

Call buy(" 매수 ",Atstop,Def,hhv(1,high,2)) If Cond2 And opend+(highd(1)-lowd(1))*level>close then Call sell(" 매도 ",Atstop,Def,llv(1,low,2)) If position<>0 Then Call exitlong(" 매수추적 ",Atstop,hhv(1,high,barnumsinceentry+1)-atr(20)*S2) Call exitshort(" 매도추적 ",Atstop,llv(1,low,barnumsinceentry+1)+atr(20)*S2) < 수식 4-38> 을보면 RSI지표가 50봉최저 RSI값보다높아지는데, 가격은 50봉최저가를유지하는경우상승다이버전스라인식하게된다 ( 반대의경우하락다이버전스 ). 상승다이버전스가발생하면매수하고, 하락다이버전스가발생하면매도하는전략을구사하게된다. 단, 하루첫매매는 RSI지표가 40보다크고다이버전스가발생하지않았으면매수하고, RSI 지표가 60보다적고다이버전스가발생하지않았으면매도하는전략을병행하였다. 적용된그림을보자. < 그림 0-35> DD_indicator_SDIV 주 ) 지표 : DD_indicator_SDIV 110