작성
·
191
0
답변 3
1
안녕하세요
제가 전체흐름을 잘 읽지 못해서, 제 방식(part2에서 소개할 방식)으로 답변드리겠습니다
우선 문제는 매수, 매도, 포지션 총 3개의 변수를 관리하는 점입니다.
사실 '포지션' 컬럼만으로 holding 구간, 매수, 매도 시점을 전부 detecting 할 수 있습니다,
'포지션'을 0, 1로 표현이 되게 설정을 하고(매수하는 기간동안은 1 매도하는 기간동안은 0으로 설정), 0 -> 1 로 변하는 point를 shift()를 이용해서 detecting을 하면 해당 point가 '매수' 시점입니다. 반대로 1 --> 0 으로 변하는 지점을 찾아내면 해당 point가 '매도' 시점이게 됩니다.
이 아이디어에 착안해서 구현하시면 vectorized operation으로 충분히 구현이 가능합니다 : )
0
무슨말씀인지 대략적으로 알것같습니다. 혹시 '원하는 포지션 시그널' 이 결국 '매도' 컬럼의 값에 NOT을 붙인형태(반대 값, '~')인 것 같은데, df['포지션'] = ~df['매도']로 처리가 가능한 부분일까요?
현재 어떤 컬럼값부터 계산을 시작해서 '포지션'계산까지 도출하는지에 대한 흐름 파악이 어려워서 이정도로 말씀드릴 수 있을 것 같습니다.
그리고 좋은 소식(?)은 해당 내용은 현재 준비중인 part2 강의에서 signal based backtesting이라는 주제로 하나의 section에서 다룹니다 :)
혹시 답변이 안되었다면 답글 남겨주세요!
단순히 포지션을 매도 컬럼값으로만 하면 매수시그널이 떴을때의 포지션 컬럼은 어떤식으로 조작해줘야 하나요??
매수시그널 발생 -> 포지션 값(1)변경 -> 매도시그널 발생 -> 포지션 값(0)변경
이렇게 하고 싶은데, 매수시그널 발생 -> 포지션(1) 변경 -> 매도시그널 발생전 매수시그널이 False로 되는순간 -> 포지션도 같이 FALse 가 되는 문제를 해결 못하겠네요 ,, ㅎㅎㅎ ㅜㅜ
df['포지션'] = df['매수'] == 1 -> 이렇게 포지션을 조작하면, 매도 시그널 발생전에 ['매수'] 시그널이 FALSE 값으로 변해버리면 포지션도 덩달아 같이 변해버려서 ... 짱구를 굴려도 잘 안되네요 ㅜㅜ
애초에 접근자체를 매수매도의 시그널로 포지션을 조작하면 안되는건지 ,,, 흠 어렵네요,,ㅜㅜ
for 루프 쓰면 되긴하느데 너무 오래걸려서 ,,, ㅎㅎ 멀티쓰레드로 여러 프로세스로 해도 엄청난 시간이 소비 되더라구요...
0
안녕하세요!
혹시 `1. expected output(기대 결과)`와 `2. 현재 나오는 결과` 를 샘플 DataFrame 형태로 첨부해주실 수 있을까요?
매수시그널은 한개의 ROW 에서 발생 후 FALSE 될수도 있는데,
포지션은 매수시그널이 TRUE 한번만 발생하면 포지션 TRUE 로 값이 변하고,
매도시그널 TRUE 가 발생하기전까진 계속 TRUE 를 유지하기를 원합니다.
이해가 되시려나 모르겠네요...ㅜㅜ 댓글 감사합니다!!
감사합니다!!!! ^^ 다음강의 나오면 또 들을께요^^^^