빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #43- 이상한 보조지표 만들기 III (Moving Average) by roostermine

View this thread on steempeak.com
· @roostermine ·
$1.05
빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #43- 이상한 보조지표 만들기 III (Moving Average)
---

정의해준 구간별로 보여주는 지표 값이 달라지는 "이상한" 보조지표를 이어서 발전된 모델로 만들어 보겠습니다!

---

### 복습

![](https://cdn.steemitimages.com/DQmWvH9XKg6qoP3NspUT7j4qZnaip2GZ4rGFofkbWMzCyB6/image.png)

이전 두 포스팅을 통하여 현재 가격의 변동성에 따라 청산 선이 바뀌며, 변동성이 충분할때 진입을 하는 전략까지 만들어보았습니다. 진입시 변동성이 작아지면, 인위적으로 손절을 길게 잡음으로써 노이즈에 손절이 나가지 않고, 포지션을 유지할 수 있게끔 해주는 방법이죠.

 수익률, 손실률, 진입 횟수 등 제가 따지는 모든 값들은 비교적 괜찮게 나왔습니다.

---

이 지표에서 가장 의미있게 보았던 값은, 이전의 보조지표들과 다른 수익 상승 분포를 가졌다는 점 입니다. 

![](https://cdn.steemitimages.com/DQmXyJMyS95y9k17fc2VFKfKKSZRpVDLyAeFbymDweDXVyY/image.png)
>https://www.steemcoinpan.com/sct/@roostermine/39-ii-keltner-channel-volatility-stop

지금까지 대부분의 전략에서는 매수 에 대한 시그널에만 진입을 했기 때문에 위와 같이 비트코인이 횡보하면, 전략 수익률도 횡보하고, 하락을 하면 같이 하락을 하는 모습을 보여주었습니다. 

---

![](https://cdn.steemitimages.com/DQmcTvMZEyS4vDTVDgoDshxoAgRSGHn5gQFFPriaXkJtaht/image.png)

하지만 이번에 제작을 해본 전략은 비트코인이 횡보를 하기 시작했을 때도 수익을 내다가, 일정 구간에서 "특정" 이유로 수익률이 급감을 하기 시작합니다. 

오늘의 주요 주제이며, 위 급감하는 구간을 분석하여 어떠한 이유로 급격하게 손절을 많이 하는지 원인을 찾아본 후 해결책 까지 제시해보도록 하겠습니다. 

해결책에는 지금까지 많이 해왔던 계수 최적화 부터 새로운 지표를 도입하여 일종의 필터를 추가하는 것과 같은 작업이 되겠죠?

---

![](https://cdn.steemitimages.com/DQmbRMuuMcZx6CcpQiEDdtjkAiu2LkgsPUXcMzsxSQKxfAx/image.png)

일단 저희가 분석해야하는 구간을 시각화 해보았습니다. 약 30회 진입 부터 문제가 발생하기 시작하며, 정말 꾸준히 하락합니다. 

---

![](https://cdn.steemitimages.com/DQmTmCv1uQz9usyrpBWLNZa4eFvhTmhjxWNY5xwkoHqVfx8/image.png)

List of Trades 를 눌러 30 회째에 날짜가 어디인지 찾아줍니다.

---

![](https://cdn.steemitimages.com/DQmaPhUq9CcVJAsQ55xcnY3a92ehV6C1QTX1a5f4UaDBAsG/image.png)

보니깐 34 번째 거래 부터 손절이 급격하게 발생합니다. 

---

![](https://cdn.steemitimages.com/DQmeeeppna17Z2xCU2nSWnEp6uhok7Ejdqvcnbctf1wRFtx/image.png)

그리고 연속된 손실이 끝나는 지점은 위 그래프상 65 번째였으며, List of Trades 에서 자세히 보면 67 번째 정도라는 것을 알 수 있습니다. 날짜는 19년 1월 19일 이네요.

---

---

![](https://cdn.steemitimages.com/DQmP5qKY4bBeufEnzYny1MkQrtn3bho3BM1etwJWTSLL2iN/image.png)

좀 더 내려보면 이런식으로 꾸준히 손절이 발생하죠. 2018년 7월 30일을 찾아가 어떤 차트 모양을 나타내고 있는지 관찰해줍니다. 

---

![](https://cdn.steemitimages.com/DQmYfvmeZBvJNUjmKChTxqSwewGDoRpKB56tZsjekFmgoYY/image.png)

밑에 Go to ... 를 눌러서! 

---

![](https://cdn.steemitimages.com/DQmSzxoSdhCyWQV9okKPtp2sHwJpyGqYcDN8zD5zxcd9czG/image.png)

18년 7월 30일을 찾아줍니다. 

---



# 관찰

![](https://cdn.steemitimages.com/DQmTk4ivWB9nPDrkKzhKvCP2oSmvsdRrBF6ya2YJRisiYTJ/image.png)

하락 세가 나타남에도 불구하고, 미세한 조정 구간에 상승세라고 해석하여 진입을 하고 손절을 반복하는 모습입니다. 

변동성이 극도로 낮아 나타나는 현상이라고 생각이 듭니다. 

---

# 크게 관찰


![](https://cdn.steemitimages.com/DQmccScn7SoeeEPmcikocigkKDtbtpPYBMMKfGUpf9dwcpt/image.png)

![](https://cdn.steemitimages.com/DQmcvKDHkDe943wW1mf5W8Y2zn7jFwD2wujNydVX4RhQdtc/image.png)

손실이 발생하는 모든 구간에 대하여 살펴보면, 하락 장에서 당연히 매수 입장으로 접근하면 손실이 나는 것이니 11월 중순 이후의 하락장에 대하여 대비를 할 필요는 없어보입니다. 

---

![](https://cdn.steemitimages.com/DQmcBtrEu2VYDNGUpCKW12JkmkHwmjweFNVM2XtLjQr7P6S/image.png)

즉, 7 월~ 11월 까지 발생하는 거래에 대하여 필터링 할 수 있는 무언가가 필요합니다. 

1. 이런 구간에서만 발생하는 값을 산출하는 지표로 필터링. (수익률을 방어하라!)
2. 이런 구간에서 역으로 수익을 낼 수 있는 무언가를 추가함으로써 마이너스 구간을 최소화. (최선의 방어는 공격이다! )

두 가지로 방법을 생각해 볼 수 있습니다. 2 번 째 방법은 상당히 까다롭기에.. 최후의 방법으로 남겨두고 

---

![](https://cdn.steemitimages.com/DQmTpCw8e4ey2dwZytVUsxeQT8SnzPsSzsXP2iwR4TaWBUv/image.png)

이런 구간에 진입을 하지 않는 쪽을 일단 첫 번재 목표로 잡아보겠습니다.

---

![](https://cdn.steemitimages.com/DQmRzbRCQ8JA72svF7zBH6kt5ACt5B26bppWdfVD1n62T6L/image.png)

ATR 을 이용하여, 위 구간의 변동성을 측정해보면 40~ 100 정도의 값을 가진다는 점을 확인하실 수 있습니다. 

이제 ATR 을 장기적으로 사용할 경우 문제가 발생하는 것이, ATR 은 절대값으로 표현을 해주기 때문에 현재 가격대비 ATR 로 따졌을 때 의미하는 변동성이 다를 수 있습니다. 

음.. 예를 들면 비트가 만 달러에서 100불씩 움직이면 1% 움직인 것이지만, 천 달러에서 100불 움직이는 것은 10% 움직이는 것이죠. 여기서 ATR 은 퍼센트로 나타내지 않고, "100불 움직였어!" 라고 말해주는 것이기에 상대값으로 환산해주는 작업이 필요합니다. 

---

### 상대적  ATR

아이디어는 간단합니다. 현재 ATR 에 현재 가격을 나눠주면 되죠. 이제 현재 가격을 어떤 값을 쓸 것이냐가 문제가 되는데, 위 지표상에서 20 주기 ATR 을 사용하기에 20주기 ATR 을 20 주기 SMA 로 나눠 주도록 하겠습니다. 

---

>ATRinput = input(20)
Relative = atr(ATRinput) / sma(close, ATRinput)
plot(Relative)


코드는 간단합니다. 인풋 값을 정의해주고, 상대 값을 변수로 지정해주고 ATR 을 평균 값으로 나눠줍니다. 

그리고 상대값을 그려주면 끝..

---

![](https://cdn.steemitimages.com/DQmWCVTnovb9dX1gFnwe7uHC4VVCgUN1STDKfwumeiUYM2F/image.png)

이런식으로 현재 가격에 비례한 상대적 변동성을 표현할 수 있게 됩니다. 지표를 볼 것은 아니지만 평균적으로 어떤 상대 변동값이 나와야 하는지를 알아보기 위하여 스케일에 100 을 곱해서 퍼센트로 변환해줍니다. 

>ATRinput = input(20)
Relative = atr(ATRinput) / sma(close, ATRinput) *100
plot(Relative)

---

![](https://cdn.steemitimages.com/DQmX2LGY1XN56a8NG44mVURGcTEWXUXGGcu3sbrPoGWPNHM/image.png)

그리고 그 위에 1% , 2% , 3% 구간에 선을 그어 어느정도 움직이면 많이 움직이는 것 인지 표기해줍니다. 

---

![](https://cdn.steemitimages.com/DQmRojUawRnrH5MM3RrKiXfksDPi9o4AbLtJnXLBZaVhJnL/image.png)

1%를 기준으로 삼으면 그 아래에서 너무 많은 값들을 필터링 하게 됩니다. 

---

![](https://cdn.steemitimages.com/DQmdWyTcyYDxWRAroh78PxzqmbZFx3QZnWbwrsQxB7q1MDt/image.png)

1% 이하인 값은 추세적인 상황에도 나타나는 것이 관찰 되어 0.5로 하향 조절하여 다시 관찰해줍니다. 사용해도 괜찮아 보입니다. 이제 본 지표로 돌아와서, 0.5% 상대 변동값 아래에서 발생하는 모든 값을은 제거해줍니다. 

---

![](https://cdn.steemitimages.com/DQmaUxmqUivVqbC63JDu9NfB3gQcRdPVuDLTSSSKBwZrymA/image.png)

그래서... 컨디션을 추가 했더니... 이런? 오히려 수익률이 더 안나오는 군요... 변동성이 문제가 아니였나봅니다. 

--- 

그럼 두 번째 원인이였던 하락장에서 진입 하는 것을 막아봅시다. 간단하게 추세에 대한 조건절을 붙여주면되죠! 

>trendlong = sma(close,200)
trendcondition = close > trendlong

장기 추세를 추가해주고, 종가가 장기 추세선 위에 있을 때에만 진입 하도록!

---

![](https://cdn.steemitimages.com/DQmTULfitVUmSk3RWrex3rRzLN9e8tzKGygfJhQnbeCwQLq/image.png)

오호 훨씬 이뻐졌습니다. 

역시 추세가 답인 것 같습니다 ㅎㅎ.... 

---

![](https://cdn.steemitimages.com/DQmazcUFU8MZG9pWq8QxPnqKr9MrUjEQ5QRa7RmugybAzD8/image.png)

추세와 상대 변동값을 둘 다 넣으면, 이와 같은 값이 나오게 됩니다. 추세만 넣었을 때가 더 높은 수익을 내게 되는 것이죠. 힘들게 변동성을 상대값으로 변환 했으나, 결과가 별로라고 하니 과감하게 버려줍니다. ㅠㅠ

---

![](https://cdn.steemitimages.com/DQmf9dRTZ7GgYtnZSPkFXvLPzJZP3wEwXbHVT1kBMSiFeZ3/image.png)

수익률 분포 부분에서는 초기 버전과 비슷하게 유지되면서, 손실 구간을 줄여 수익률을 극대화 하였습니다! 

다른 차트에도 적용해본 결과 모든 차트에 적용이 가능한 지표 라는 점 또한 확인 되었습니다! (가장 좋은 모델 이라는 뜻!)


다음 시간에는 계수/변수 최적화를 통하여 수익률을 어디까지 올릴 수 있는지 알아보도록 하겠습니다!


---

질문, 댓글, 팔로우는 감사합니다!

새로운 아이디어, 종목 추천 등은 언제나 환영입니다!

---
👍  , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , and 13 others
properties (23)
post_id78,077,193
authorroostermine
permlink43-iii-moving-average
categorysct
json_metadata{"tags":["sct","zzan","liv","palnet","steemleo"],"image":["https:\/\/cdn.steemitimages.com\/DQmWvH9XKg6qoP3NspUT7j4qZnaip2GZ4rGFofkbWMzCyB6\/image.png","https:\/\/cdn.steemitimages.com\/DQmXyJMyS95y9k17fc2VFKfKKSZRpVDLyAeFbymDweDXVyY\/image.png","https:\/\/cdn.steemitimages.com\/DQmcTvMZEyS4vDTVDgoDshxoAgRSGHn5gQFFPriaXkJtaht\/image.png","https:\/\/cdn.steemitimages.com\/DQmbRMuuMcZx6CcpQiEDdtjkAiu2LkgsPUXcMzsxSQKxfAx\/image.png","https:\/\/cdn.steemitimages.com\/DQmTmCv1uQz9usyrpBWLNZa4eFvhTmhjxWNY5xwkoHqVfx8\/image.png","https:\/\/cdn.steemitimages.com\/DQmaPhUq9CcVJAsQ55xcnY3a92ehV6C1QTX1a5f4UaDBAsG\/image.png","https:\/\/cdn.steemitimages.com\/DQmeeeppna17Z2xCU2nSWnEp6uhok7Ejdqvcnbctf1wRFtx\/image.png","https:\/\/cdn.steemitimages.com\/DQmP5qKY4bBeufEnzYny1MkQrtn3bho3BM1etwJWTSLL2iN\/image.png","https:\/\/cdn.steemitimages.com\/DQmYfvmeZBvJNUjmKChTxqSwewGDoRpKB56tZsjekFmgoYY\/image.png","https:\/\/cdn.steemitimages.com\/DQmSzxoSdhCyWQV9okKPtp2sHwJpyGqYcDN8zD5zxcd9czG\/image.png","https:\/\/cdn.steemitimages.com\/DQmTk4ivWB9nPDrkKzhKvCP2oSmvsdRrBF6ya2YJRisiYTJ\/image.png","https:\/\/cdn.steemitimages.com\/DQmccScn7SoeeEPmcikocigkKDtbtpPYBMMKfGUpf9dwcpt\/image.png","https:\/\/cdn.steemitimages.com\/DQmcvKDHkDe943wW1mf5W8Y2zn7jFwD2wujNydVX4RhQdtc\/image.png","https:\/\/cdn.steemitimages.com\/DQmcBtrEu2VYDNGUpCKW12JkmkHwmjweFNVM2XtLjQr7P6S\/image.png","https:\/\/cdn.steemitimages.com\/DQmTpCw8e4ey2dwZytVUsxeQT8SnzPsSzsXP2iwR4TaWBUv\/image.png","https:\/\/cdn.steemitimages.com\/DQmRzbRCQ8JA72svF7zBH6kt5ACt5B26bppWdfVD1n62T6L\/image.png","https:\/\/cdn.steemitimages.com\/DQmWCVTnovb9dX1gFnwe7uHC4VVCgUN1STDKfwumeiUYM2F\/image.png","https:\/\/cdn.steemitimages.com\/DQmX2LGY1XN56a8NG44mVURGcTEWXUXGGcu3sbrPoGWPNHM\/image.png","https:\/\/cdn.steemitimages.com\/DQmRojUawRnrH5MM3RrKiXfksDPi9o4AbLtJnXLBZaVhJnL\/image.png","https:\/\/cdn.steemitimages.com\/DQmdWyTcyYDxWRAroh78PxzqmbZFx3QZnWbwrsQxB7q1MDt\/image.png","https:\/\/cdn.steemitimages.com\/DQmaUxmqUivVqbC63JDu9NfB3gQcRdPVuDLTSSSKBwZrymA\/image.png","https:\/\/cdn.steemitimages.com\/DQmTULfitVUmSk3RWrex3rRzLN9e8tzKGygfJhQnbeCwQLq\/image.png","https:\/\/cdn.steemitimages.com\/DQmazcUFU8MZG9pWq8QxPnqKr9MrUjEQ5QRa7RmugybAzD8\/image.png","https:\/\/cdn.steemitimages.com\/DQmf9dRTZ7GgYtnZSPkFXvLPzJZP3wEwXbHVT1kBMSiFeZ3\/image.png"],"links":["https:\/\/www.steemcoinpan.com\/sct\/@roostermine\/39-ii-keltner-channel-volatility-stop"],"app":"steemcoinpan\/0.1","format":"markdown"}
created2019-07-18 12:14:24
last_update2019-07-18 12:14:24
depth0
children2
net_rshares2,963,271,306,058
last_payout2019-07-25 12:14:24
cashout_time1969-12-31 23:59:59
total_payout_value0.815 SBD
curator_payout_value0.239 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length5,765
author_reputation32,029,897,993,437
root_title"빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #43- 이상한 보조지표 만들기 III (Moving Average)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
author_curate_reward""
vote details (77)
@dj-on-steem ·
> 힘들게 변동성을 상대값으로 변환 했으나, 결과가 별로라고 하니 과감하게 버려줍니다. ㅠㅠ

토닥토닥~ 
상대적 변동성은 다른 어디에선가 또 쓸 데가 있을거에요.
properties (22)
post_id78,236,204
authordj-on-steem
permlinkpv2c3q
categorysct
json_metadata{"tags":["sct"],"app":"steemit\/0.1"}
created2019-07-22 21:37:45
last_update2019-07-22 21:37:45
depth1
children1
net_rshares0
last_payout2019-07-29 21:37:45
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length91
author_reputation15,019,887,046,324
root_title"빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #43- 이상한 보조지표 만들기 III (Moving Average)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000
@roostermine ·
ㅎㅎ 맨첨에 변환하고 왠지 느낌이 좋았는데 결과는 별로였네요 ㅋㅋㅋㅋㅋ 생각을 좀 해보고 있는데 표준 편차와 활용해서 뭘 할 수 있을 것 같아요~

Posted using [Partiko iOS](https://partiko.app/referral/roostermine)
properties (22)
post_id78,240,371
authorroostermine
permlinkroostermine-re-dj-on-steem-pv2c3q-20190723t010612263z
categorysct
json_metadata{"app":"partiko","client":"ios"}
created2019-07-23 01:06:12
last_update2019-07-23 01:06:12
depth2
children0
net_rshares0
last_payout2019-07-30 01:06:12
cashout_time1969-12-31 23:59:59
total_payout_value0.000 SBD
curator_payout_value0.000 SBD
pending_payout_value0.000 SBD
promoted0.000 SBD
body_length151
author_reputation32,029,897,993,437
root_title"빙구처럼 트레이딩: 코인 차트 "처음부터" 공부하기 #43- 이상한 보조지표 만들기 III (Moving Average)"
beneficiaries[]
max_accepted_payout1,000,000.000 SBD
percent_steem_dollars10,000