커뮤니티
문의드립니다.
2018-09-12 12:36:33
174
글번호 121974
도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
답변 8
예스스탁 예스스탁 답변
2018-09-12 14:24:31
안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
잡다백수
2018-09-12 14:36:38
이 리포트 보고 한건데요. 혹시 공식이 안 맞는 건가요?
안 맞으면 담당 애널에게 다시 문의 후 올리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
잡다백수
2018-09-12 14:44:50
잡다백수 님에 의해 삭제된 답변입니다.
잡다백수
2018-09-12 14:44:51
파일첨부가 안되서 우선 안의 내용 간단히 복사했어요. 혹시 이거랑 제가 쓴거랑 다른 건가요?
ATR을 활용한 트레이딩 전략 ATR 을 활용하면 조금 더 합리적인 트레이딩 자금관리가 가능해짐. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정하자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자. 그렇다면 ATR 을 활용한 투입 자산 비중을 구하는 공식은 다음과 같음.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR
투입 자금 = 매수단위 * 현재가
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
피라미딩을 수행함에 있어 목표가(추가매수 시점)과 손절가는 또한 기하평균이 양수가 되는 지점에 있음. 예를 들어 신라젠의 ATR 이 3890 원이며, 현재가가 76400 원이라면 -1 ATR 은 -5.09%. +2 ATR 은 +10.18%. 이 둘의 기하평균이 1 을 넘을 시, 이익이 반복적으로 누적되는 구조. 그러므로 -1ATR 에서 손절매를 수행하고 +2ATR 에서 추가매수를 수행하는 투자는 유리한 베팅임. 여기서 포인트는, 변동성이 큰 자산 및 종목에는 자금을 소량 투입하며 변동성이 낮은 자산 및 종목에는 자금을 크게 투입하는 것임. 해당 베팅이 2 회차 또한 성공하게 된다면, 그 이후부터는 손절매를 하더라도 트레이딩이 이익으로 마감하게 됨.
ATR을 활용한 트레이딩 전략 : 투입 자금 계산
이러한 개념을 활용하여 ATR 을 바라보면, 조금 더 합리적인 트레이딩의 자금관리가 가능해진다. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정해 보자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자.
그렇다면 투입 자산 비중은 다음과 같다.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR 투입 자금 = 매수단위 * 현재가 투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
예를 들어, 신라젠을 트레이딩 함에 있어 다음과 같은 조건이 주어져 있다고 가정해 보자.
1) 한 번의 트레이딩에서 손실 한도를 전체 자산의 1%로 제한해야 함 2) 20 일 ATR 은 3890 원 3) 현재 종가 76,400 원 4) 전체 자본 1 억원
그렇다면 해당 조건을 만족하는 신라젠의 매수 단위는 1 억원 * 1% / 3890 원 = 257.07 이 된다. 약 257 주를 매수해야 한다는 뜻이다. 신라젠의 현재가가 76400 원이므로 이는 약 1963 만원에 해당하는 금액이며, 이는 전체 자산의 19.63%에 해당한다.
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
>
이 리포트 보고 한건데요. 혹시 공식이 안 맞는 건가요?
안 맞으면 담당 애널에게 다시 문의 후 올리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
예스스탁 예스스탁 답변
2018-09-12 15:50:49
안녕하세요
예스스탁입니다.
1
투입자금이 있어 혼동이 있었습니다.
올려주신 내용이면 매수단위가 1회매수시 수량이므로
해당 내용으로 진입시 수량을 지정하면 됩니다.
다만 atr값이 작으면 수량이 크게 늘어나고
해당 수량만큼의 진입이 지정한 가격을 크게 상회할수 있습니다.
이때는 1회 진입만 하게 됩니다. 이용에 참고하시기 바랍니다.
input : 전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,40);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1 Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
2
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
if H < 지정가 Then
buy("b1",AtStop,지정가,매수단위);
Else
buy("b2",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
3
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and Random(1) > 0.5 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
4
input : 특정일(20180801),특정시간(100000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and sdate == 특정일 and stime == 특정시간 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",onclose,def,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
5
진입횟수를 지정하면 지정한 기간 1회만 진입신호가 발생합니다.
4atr이상 올라도 한번만 추가진입합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : Re : 문의드립니다.
> 파일첨부가 안되서 우선 안의 내용 간단히 복사했어요. 혹시 이거랑 제가 쓴거랑 다른 건가요?
ATR을 활용한 트레이딩 전략 ATR 을 활용하면 조금 더 합리적인 트레이딩 자금관리가 가능해짐. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정하자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자. 그렇다면 ATR 을 활용한 투입 자산 비중을 구하는 공식은 다음과 같음.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR
투입 자금 = 매수단위 * 현재가
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
피라미딩을 수행함에 있어 목표가(추가매수 시점)과 손절가는 또한 기하평균이 양수가 되는 지점에 있음. 예를 들어 신라젠의 ATR 이 3890 원이며, 현재가가 76400 원이라면 -1 ATR 은 -5.09%. +2 ATR 은 +10.18%. 이 둘의 기하평균이 1 을 넘을 시, 이익이 반복적으로 누적되는 구조. 그러므로 -1ATR 에서 손절매를 수행하고 +2ATR 에서 추가매수를 수행하는 투자는 유리한 베팅임. 여기서 포인트는, 변동성이 큰 자산 및 종목에는 자금을 소량 투입하며 변동성이 낮은 자산 및 종목에는 자금을 크게 투입하는 것임. 해당 베팅이 2 회차 또한 성공하게 된다면, 그 이후부터는 손절매를 하더라도 트레이딩이 이익으로 마감하게 됨.
ATR을 활용한 트레이딩 전략 : 투입 자금 계산
이러한 개념을 활용하여 ATR 을 바라보면, 조금 더 합리적인 트레이딩의 자금관리가 가능해진다. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정해 보자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자.
그렇다면 투입 자산 비중은 다음과 같다.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR 투입 자금 = 매수단위 * 현재가 투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
예를 들어, 신라젠을 트레이딩 함에 있어 다음과 같은 조건이 주어져 있다고 가정해 보자.
1) 한 번의 트레이딩에서 손실 한도를 전체 자산의 1%로 제한해야 함 2) 20 일 ATR 은 3890 원 3) 현재 종가 76,400 원 4) 전체 자본 1 억원
그렇다면 해당 조건을 만족하는 신라젠의 매수 단위는 1 억원 * 1% / 3890 원 = 257.07 이 된다. 약 257 주를 매수해야 한다는 뜻이다. 신라젠의 현재가가 76400 원이므로 이는 약 1963 만원에 해당하는 금액이며, 이는 전체 자산의 19.63%에 해당한다.
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
>
이 리포트 보고 한건데요. 혹시 공식이 안 맞는 건가요?
안 맞으면 담당 애널에게 다시 문의 후 올리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
잡다백수
2018-09-12 16:11:11
코딩 감사합니다.
1번식만 일단 실행을 해봤는데요.
-1ATR되면 손절이라고 했지만 몇종목 돌려봐도 손절을 아예 안하는 거 같아요. 목표값이랑 손절값 붙여주면 작동하는 것 같구요.
여기에 -1ATR 손절이 있는 건가요? 아니면 -1ATR이란 값이 너무 커서 손절 자체에 안 걸리거나 변동되는 것 때문에 아예 손절값에 못 걸리게 돼 있는 건가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1
투입자금이 있어 혼동이 있었습니다.
올려주신 내용이면 매수단위가 1회매수시 수량이므로
해당 내용으로 진입시 수량을 지정하면 됩니다.
다만 atr값이 작으면 수량이 크게 늘어나고
해당 수량만큼의 진입이 지정한 가격을 크게 상회할수 있습니다.
이때는 1회 진입만 하게 됩니다. 이용에 참고하시기 바랍니다.
input : 전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,40);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1 Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
2
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
if H < 지정가 Then
buy("b1",AtStop,지정가,매수단위);
Else
buy("b2",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
3
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and Random(1) > 0.5 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
4
input : 특정일(20180801),특정시간(100000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and sdate == 특정일 and stime == 특정시간 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",onclose,def,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
5
진입횟수를 지정하면 지정한 기간 1회만 진입신호가 발생합니다.
4atr이상 올라도 한번만 추가진입합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : Re : 문의드립니다.
> 파일첨부가 안되서 우선 안의 내용 간단히 복사했어요. 혹시 이거랑 제가 쓴거랑 다른 건가요?
ATR을 활용한 트레이딩 전략 ATR 을 활용하면 조금 더 합리적인 트레이딩 자금관리가 가능해짐. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정하자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자. 그렇다면 ATR 을 활용한 투입 자산 비중을 구하는 공식은 다음과 같음.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR
투입 자금 = 매수단위 * 현재가
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
피라미딩을 수행함에 있어 목표가(추가매수 시점)과 손절가는 또한 기하평균이 양수가 되는 지점에 있음. 예를 들어 신라젠의 ATR 이 3890 원이며, 현재가가 76400 원이라면 -1 ATR 은 -5.09%. +2 ATR 은 +10.18%. 이 둘의 기하평균이 1 을 넘을 시, 이익이 반복적으로 누적되는 구조. 그러므로 -1ATR 에서 손절매를 수행하고 +2ATR 에서 추가매수를 수행하는 투자는 유리한 베팅임. 여기서 포인트는, 변동성이 큰 자산 및 종목에는 자금을 소량 투입하며 변동성이 낮은 자산 및 종목에는 자금을 크게 투입하는 것임. 해당 베팅이 2 회차 또한 성공하게 된다면, 그 이후부터는 손절매를 하더라도 트레이딩이 이익으로 마감하게 됨.
ATR을 활용한 트레이딩 전략 : 투입 자금 계산
이러한 개념을 활용하여 ATR 을 바라보면, 조금 더 합리적인 트레이딩의 자금관리가 가능해진다. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정해 보자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자.
그렇다면 투입 자산 비중은 다음과 같다.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR 투입 자금 = 매수단위 * 현재가 투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
예를 들어, 신라젠을 트레이딩 함에 있어 다음과 같은 조건이 주어져 있다고 가정해 보자.
1) 한 번의 트레이딩에서 손실 한도를 전체 자산의 1%로 제한해야 함 2) 20 일 ATR 은 3890 원 3) 현재 종가 76,400 원 4) 전체 자본 1 억원
그렇다면 해당 조건을 만족하는 신라젠의 매수 단위는 1 억원 * 1% / 3890 원 = 257.07 이 된다. 약 257 주를 매수해야 한다는 뜻이다. 신라젠의 현재가가 76400 원이므로 이는 약 1963 만원에 해당하는 금액이며, 이는 전체 자산의 19.63%에 해당한다.
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
>
이 리포트 보고 한건데요. 혹시 공식이 안 맞는 건가요?
안 맞으면 담당 애널에게 다시 문의 후 올리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
예스스탁 예스스탁 답변
2018-09-12 16:27:26
안녕하세요
예스스탁입니다.
청산식이 추가진입제한 내용과 같이 있어 발생하지 않았습니다.
아래와 같이 if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
조건밖으로 빼시면 됩니다.
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
}
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : Re : 문의드립니다.
> 코딩 감사합니다.
1번식만 일단 실행을 해봤는데요.
-1ATR되면 손절이라고 했지만 몇종목 돌려봐도 손절을 아예 안하는 거 같아요. 목표값이랑 손절값 붙여주면 작동하는 것 같구요.
여기에 -1ATR 손절이 있는 건가요? 아니면 -1ATR이란 값이 너무 커서 손절 자체에 안 걸리거나 변동되는 것 때문에 아예 손절값에 못 걸리게 돼 있는 건가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1
투입자금이 있어 혼동이 있었습니다.
올려주신 내용이면 매수단위가 1회매수시 수량이므로
해당 내용으로 진입시 수량을 지정하면 됩니다.
다만 atr값이 작으면 수량이 크게 늘어나고
해당 수량만큼의 진입이 지정한 가격을 크게 상회할수 있습니다.
이때는 1회 진입만 하게 됩니다. 이용에 참고하시기 바랍니다.
input : 전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,40);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1 Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
2
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
if H < 지정가 Then
buy("b1",AtStop,지정가,매수단위);
Else
buy("b2",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
3
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and Random(1) > 0.5 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
4
input : 특정일(20180801),특정시간(100000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and sdate == 특정일 and stime == 특정시간 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",onclose,def,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
5
진입횟수를 지정하면 지정한 기간 1회만 진입신호가 발생합니다.
4atr이상 올라도 한번만 추가진입합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : Re : 문의드립니다.
> 파일첨부가 안되서 우선 안의 내용 간단히 복사했어요. 혹시 이거랑 제가 쓴거랑 다른 건가요?
ATR을 활용한 트레이딩 전략 ATR 을 활용하면 조금 더 합리적인 트레이딩 자금관리가 가능해짐. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정하자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자. 그렇다면 ATR 을 활용한 투입 자산 비중을 구하는 공식은 다음과 같음.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR
투입 자금 = 매수단위 * 현재가
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
피라미딩을 수행함에 있어 목표가(추가매수 시점)과 손절가는 또한 기하평균이 양수가 되는 지점에 있음. 예를 들어 신라젠의 ATR 이 3890 원이며, 현재가가 76400 원이라면 -1 ATR 은 -5.09%. +2 ATR 은 +10.18%. 이 둘의 기하평균이 1 을 넘을 시, 이익이 반복적으로 누적되는 구조. 그러므로 -1ATR 에서 손절매를 수행하고 +2ATR 에서 추가매수를 수행하는 투자는 유리한 베팅임. 여기서 포인트는, 변동성이 큰 자산 및 종목에는 자금을 소량 투입하며 변동성이 낮은 자산 및 종목에는 자금을 크게 투입하는 것임. 해당 베팅이 2 회차 또한 성공하게 된다면, 그 이후부터는 손절매를 하더라도 트레이딩이 이익으로 마감하게 됨.
ATR을 활용한 트레이딩 전략 : 투입 자금 계산
이러한 개념을 활용하여 ATR 을 바라보면, 조금 더 합리적인 트레이딩의 자금관리가 가능해진다. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정해 보자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자.
그렇다면 투입 자산 비중은 다음과 같다.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR 투입 자금 = 매수단위 * 현재가 투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
예를 들어, 신라젠을 트레이딩 함에 있어 다음과 같은 조건이 주어져 있다고 가정해 보자.
1) 한 번의 트레이딩에서 손실 한도를 전체 자산의 1%로 제한해야 함 2) 20 일 ATR 은 3890 원 3) 현재 종가 76,400 원 4) 전체 자본 1 억원
그렇다면 해당 조건을 만족하는 신라젠의 매수 단위는 1 억원 * 1% / 3890 원 = 257.07 이 된다. 약 257 주를 매수해야 한다는 뜻이다. 신라젠의 현재가가 76400 원이므로 이는 약 1963 만원에 해당하는 금액이며, 이는 전체 자산의 19.63%에 해당한다.
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
>
이 리포트 보고 한건데요. 혹시 공식이 안 맞는 건가요?
안 맞으면 담당 애널에게 다시 문의 후 올리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
잡다백수
2018-09-12 16:52:09
코딩감사합니다.
그런데 이번에는 살펴보니 bb 추가진입을 하지 않습니다.
atr*2를 더한 값에 가격이 도달하면 추가진입하는 로직이 맞는지요.
아니면 제가 전체자본이나 투입가능자본을 너무 작게 잡아서 그런 건지요.
고영-신라젠-셀트리온-kodex 코스닥 150레버리지로 실험해봤습니다.
input : 전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,40);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1 Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
}
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : Re : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
청산식이 추가진입제한 내용과 같이 있어 발생하지 않았습니다.
아래와 같이 if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
조건밖으로 빼시면 됩니다.
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
}
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : Re : 문의드립니다.
> 코딩 감사합니다.
1번식만 일단 실행을 해봤는데요.
-1ATR되면 손절이라고 했지만 몇종목 돌려봐도 손절을 아예 안하는 거 같아요. 목표값이랑 손절값 붙여주면 작동하는 것 같구요.
여기에 -1ATR 손절이 있는 건가요? 아니면 -1ATR이란 값이 너무 커서 손절 자체에 안 걸리거나 변동되는 것 때문에 아예 손절값에 못 걸리게 돼 있는 건가요?
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : Re : Re : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
1
투입자금이 있어 혼동이 있었습니다.
올려주신 내용이면 매수단위가 1회매수시 수량이므로
해당 내용으로 진입시 수량을 지정하면 됩니다.
다만 atr값이 작으면 수량이 크게 늘어나고
해당 수량만큼의 진입이 지정한 가격을 크게 상회할수 있습니다.
이때는 1회 진입만 하게 됩니다. 이용에 참고하시기 바랍니다.
input : 전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
var1 = highest(H,40);
ATRV = atr(ATR기간);
if MarketPosition == 0 and H < var1 Then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b",AtStop,var1,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
2
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
if H < 지정가 Then
buy("b1",AtStop,지정가,매수단위);
Else
buy("b2",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
3
input : 지정가(10000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and Random(1) > 0.5 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",AtStop,지정가,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
4
input : 특정일(20180801),특정시간(100000),전체자본(10000000),투입가능자본퍼센트(50),손실허용한도퍼센트(1.5),ATR기간(14);
var : 매수단위(0),투입금액(0),ATRV(0);
ATRV = atr(ATR기간);
if MarketPosition == 0 and sdate == 특정일 and stime == 특정시간 then
{
매수단위 = Floor((전체자본*(손실허용한도퍼센트/100))/ATRV);
buy("b1",onclose,def,매수단위);
}
if MarketPosition == 1 Then
{
if CurrentContracts > CurrentContracts[1] Then
{
if MaxEntries == 1 Then
투입금액 = CurrentContracts*LatestEntryPrice(0);
if MaxEntries >= 2 Then
투입금액 = 투입금액 + (CurrentContracts-CurrentContracts[1])*LatestEntryPrice(0);
}
if 투입금액 < 전체자본*(투입가능자본퍼센트/100) Then
{
매수단위 = Floor(min((전체자본*손실허용한도퍼센트/100),(전체자본*(투입가능자본퍼센트/100)-투입금액))/ATRV);
buy("bb",AtStop,LatestEntryPrice(0)+ATRV*2,매수단위);
ExitLong("bx",AtStop,LatestEntryPrice(0)-ATRV*1);
}
}
5
진입횟수를 지정하면 지정한 기간 1회만 진입신호가 발생합니다.
4atr이상 올라도 한번만 추가진입합니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : Re : 문의드립니다.
> 파일첨부가 안되서 우선 안의 내용 간단히 복사했어요. 혹시 이거랑 제가 쓴거랑 다른 건가요?
ATR을 활용한 트레이딩 전략 ATR 을 활용하면 조금 더 합리적인 트레이딩 자금관리가 가능해짐. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정하자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자. 그렇다면 ATR 을 활용한 투입 자산 비중을 구하는 공식은 다음과 같음.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR
투입 자금 = 매수단위 * 현재가
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
피라미딩을 수행함에 있어 목표가(추가매수 시점)과 손절가는 또한 기하평균이 양수가 되는 지점에 있음. 예를 들어 신라젠의 ATR 이 3890 원이며, 현재가가 76400 원이라면 -1 ATR 은 -5.09%. +2 ATR 은 +10.18%. 이 둘의 기하평균이 1 을 넘을 시, 이익이 반복적으로 누적되는 구조. 그러므로 -1ATR 에서 손절매를 수행하고 +2ATR 에서 추가매수를 수행하는 투자는 유리한 베팅임. 여기서 포인트는, 변동성이 큰 자산 및 종목에는 자금을 소량 투입하며 변동성이 낮은 자산 및 종목에는 자금을 크게 투입하는 것임. 해당 베팅이 2 회차 또한 성공하게 된다면, 그 이후부터는 손절매를 하더라도 트레이딩이 이익으로 마감하게 됨.
ATR을 활용한 트레이딩 전략 : 투입 자금 계산
이러한 개념을 활용하여 ATR 을 바라보면, 조금 더 합리적인 트레이딩의 자금관리가 가능해진다. 예를 들어 한 번의 트레이딩에서 손실을 전체 자금의 -1%에서 제한시키고 싶다고 가정해 보자. 그리고 주가가 매입 단가 대비 -1 ATR 하락시 손절매를 한다고 가정해 보자.
그렇다면 투입 자산 비중은 다음과 같다.
매수 단위 = 전체자본 * 손실 허용 한도 / ATR 투입 자금 = 매수단위 * 현재가 투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
예를 들어, 신라젠을 트레이딩 함에 있어 다음과 같은 조건이 주어져 있다고 가정해 보자.
1) 한 번의 트레이딩에서 손실 한도를 전체 자산의 1%로 제한해야 함 2) 20 일 ATR 은 3890 원 3) 현재 종가 76,400 원 4) 전체 자본 1 억원
그렇다면 해당 조건을 만족하는 신라젠의 매수 단위는 1 억원 * 1% / 3890 원 = 257.07 이 된다. 약 257 주를 매수해야 한다는 뜻이다. 신라젠의 현재가가 76400 원이므로 이는 약 1963 만원에 해당하는 금액이며, 이는 전체 자산의 19.63%에 해당한다.
> 잡다백수 님이 쓴 글입니다.
> 제목 : Re : Re : 문의드립니다.
>
이 리포트 보고 한건데요. 혹시 공식이 안 맞는 건가요?
안 맞으면 담당 애널에게 다시 문의 후 올리겠습니다.
> 예스스탁 님이 쓴 글입니다.
> 제목 : Re : 문의드립니다.
> 안녕하세요
예스스탁입니다.
수식내용을 정확히 이해하지 못했습니다.
아래 내용 참고하셔서 내용 다시 올려주시기 바랍니다.
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가
위 공식 내용이 정확한지 확인해 주시기 바랍니다
atr값이 25이고 종가가 30000원이면
매수단위 = (10,000,000*0.5)/25 = 200,000
투입자금 = 200,000*30,000 = 6,000,0000,000
위 계산에 의하면 atr과 종가 관계없이 투입자금이 전체자금보다 높습니다.
또한 진입청산 규칙이
40일최고가에서 첫진입이후
최근 진입가에서 2atr상승시 추가매수,
최근 진입가에서 1atr하락시 전량청산
위 내용이 맞는지도 확인해 주시기 바랍니다.
즐거운 하루되세요
> 잡다백수 님이 쓴 글입니다.
> 제목 : 문의드립니다.
> 도움주시는 덕분에 도전하고 있습니다. 매번 감사합니다.
1. 시스템
외부변수
-전체자본(10000000)
-전체자본가운데 투입가능자본퍼센트(50)
-손실 허용한도퍼센트(1.5)
-ATR기간(14)
매수 단위 = 전체자본 * 손실 허용한도퍼센트 / ATR
투입 자금 = 매수단위 * 현재가 //// 투입자금은 전체자본가운데 투입가능자본퍼센트 이하로만 투입함. 예) 전체자본가운데 투입가능자본퍼센트가 50이면 추가 진입 포함 아무리 많이 진입하더라도 50%이상은 진입 안함
투입 비중 = 투입 자금 / 전체자본 = 손실 허용 한도 / ATR
규칙
-40일 최고가 매수진입
-진입시 종목 투입수량은 위의 공식을 따름.
-진입한 후 +2ATR 상승하면 위 공식따라 추가진입
-진입가격에서 -1ATR하락하면 처음 포지션부터 손절.
-(2차진입후)추가진입한 포지션에서 -1ATR하락하면 전체 포지션 손절. 다시 카운트
-(2차진입후)+2ATR상승하면 또 공식에 따라 추가진입
-이후 전체자본가운데 투입가능자본퍼센트 도달할 때까지 계속 같은 방식으로
2. 기타
- 시스템에서 40일 최고가 매수진입 조건을
- 특정가격(외부변수)에 도달하면 매수진입으로
-올라서 도달할 때랑 내려서 도달할 때 따로
3. 기타
1 시스템에서 진입만 랜덤진입으로
4. 기타
1. 시스템에서 진입만 특정날짜 특정시간(외부변수)로
5. 기타
만약에 1시스템처럼 추가진입을 하는 시스템의 경우 진입횟수를 주당 1회, 일당 1회로 막아 놓으면 어떻게 되나요? 추가 진입을 안하나요? 그리고 한봉에서 혹시 4ATR 이상 올라버리면 1번식은 어떤 식으로 작동 되나요?
다음글
이전글