주식,가상화폐 백테스팅 6

[백테스팅 6] '20년과 정반대 하락장에서 예상수익률은?

2021/02/01 - [주식,가상화폐 백테스팅] - [백테스팅 5] 백테스팅을 이용한 보조지표 파라미터 최적화 -2 (파이썬 소스 포함) [백테스팅 5] 백테스팅을 이용한 보조지표 파라미터 최적화 -2 (파이썬 소스 포함) MACD 파라미터값을 최적화하기 위해, 앞서 범위를 정하고, 3중 for문을 구성해봤습니다. 이제 for문 안에 실행문을 작성해보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 for i in range(tr[0][0],tr[.. nakyup.tistory.com # 9. '20년과 정반대 하락장에서 백테스팅 예상수익률은? 지난 게시물에서 MACD, Stochastic, RSI, 볼린저밴드의 파라미터를 최적화해서 예상수익률이 향상되는 것을 확인했..

[백테스팅 5] 백테스팅을 이용한 보조지표 파라미터 최적화 -2 (파이썬 소스 포함)

MACD 파라미터값을 최적화하기 위해, 앞서 범위를 정하고, 3중 for문을 구성해봤습니다. 이제 for문 안에 실행문을 작성해보겠습니다. param=[0,0,0,0,0,0] n=0 # 총 테스트 횟수 구하기 for i in range(tr[0][0],tr[0][1],tr[0][2]): for j in range(tr[1][0],tr[1][1],tr[1][2]): for k in range(tr[2][0],tr[2][1],tr[2][2]): n+=1 n_test=n # 백테스팅 실행 n=0 for i in range(tr[0][0],tr[0][1],tr[0][2]): for j in range(tr[1][0],tr[1][1],tr[1][2]): for k in range(tr[2][0],tr[2][1],..

[백테스팅 4] 백테스팅을 이용한 보조지표 파라미터 최적화 -1 (파이썬 소스 포함)

처음 보시는 분들은 #1~#6까지의 포스팅을 먼저 보셔야 이해하실 수 있습니다. 적어도, # 6. 최적 보조지표 선정을 위한 백테스팅 결과 에 포함된 코드를 이용하실 수 있어야 됩니다. 2021/01/31 - [가상화폐 자동매매] - # 6. 최적 보조지표 선정을 위한 백테스팅 결과 (파이썬 소스 포함) 앞서 기본 파라미터값으로 백테스팅한 결과가 과연 최선일까요? 물론 우연히 최선의 값일 수도 있겠지만, 더 좋은 조건이 있는지 알아보고 가장 좋은 조건을 설정해주는 것이 좋겠죠. 그래서, for문을 이용해 파라미터 값들을 변경해보면서 수익률을 비교하고, 가장 좋은 것을 선택해보겠습니다. 우선 MACD 함수를 아래처럼 바꿔줍니다. 파라미터값들을 *args로 입력받을 수 있게 해준 건데, 만약 입력되지 않으면..

[백테스팅 3] MACD, RSI, STOCHASTIC, BOLLINGER BAND 보조지표 백테스팅 결과 (파이썬 소스 포함)

주식 또는 가상화폐 시세를 보조지표로 분석하기 위한 파이썬 코드를 포스팅하고 있습니다. 지금까지, 빗썸 거래소에서 Public API를 이용해 일봉 시세데이터를 불러오고, MACD, RSI, STOCHASTIC, BOLLINGER BAND 4가지 보조지표를 함수로 구현했습니다. 끝으로 백테스팅 함수도 구현했으니, 결과를 확인해보겠습니다. 이전 포스팅 내용을 확인하고 싶으신 분들은 아래 링크로 이동하세요. 2021/01/31 - [주식,가상화폐 보조지표 (파이썬 소스)] - [보조지표 1] MACD 함수 with 파이썬 2021/01/31 - [주식,가상화폐 보조지표 (파이썬 소스)] - [보조지표 2] Stochastic with 파이썬 2021/01/31 - [주식,가상화폐 보조지표 (파이썬 소스)] ..

[백테스팅 2] 최적 보조지표 선택을 위한 백테스팅 - 2 (파이썬 소스 포함)

가상화폐 일봉 데이터를 pandas DataFrame으로 불러온 뒤, MACD, RSI, Stochastic, 볼린저밴드 함수의 기본 매수-매도 sign에 따라 이상적인 거래가 성공한다는 가정으로 백테스팅 함수를 구현해보겠습니다. 각 보조지표 함수는 일봉 데이터를 pandas DataFrame 형식으로 입력받은 후, 여기에 함수에서 생성한 데이터와 거래 포지션을 입력하여 반환합니다. 예를 들어, 아래 그림의 MACD DataFrame 자료에서 당일의 시가, 종가, 고가, 저가 가격이 모두 확정되는 밤 24시 정각을 기준으로 매도, 매수 sign을 확정하여 입력합니다. 따라서, 매수-매도 포지션이 바꼈다면 당일 종가 이후 가격으로 거래를 시도할 수 있습니다. 백테스팅은 매수-매도 포지션이 바뀐 당일 종가로..

[백테스팅 1] 최적 보조지표 선택을 위한 백테스팅 -1 (파이썬 소스 포함)

앞선 포스팅에서 MACD, Stochastic, RSI, 볼린저밴드 4가지의 보조지표를 함수로 만들었습니다. 이제 각 보조지표에서 밤 12시에 매수, 매도 포지션이 변경될 때마다 당일 시가에 거래가 성공했다는 가정을 전제로, 가장 좋은 수익을 나타내는 보조지표를 선택해 보겠습니다. 언급했듯이 백테스팅은 실제 거래 상황과는 달리 이상적인 거래 성공을 전제로 하기때문에 실전 투자와는 결과가 다르다는 것을 꼭 기억해 주세요. 1. for문을 이용해 4개 지표가 차례로 선택되면서 백테스팅을 실행 2. 1년치의 일봉 기준으로 백테스팅 결과, 최종 수익률 산출 3. 백테스팅 결과, 최종적인 (즉, 현재의) 매수-매도 포지션 반환 4. 백테스팅은 일봉 데이터와 보조지표 이름을 입력받고 실행하는 함수로 구현 5. 보조..