예스스탁
예스스탁 답변
2023-04-11 18:28:01
안녕하세요? 예스스탁입니다.
빠른 최적화 작동 방식을 예로 들어서 설명 드리겠습니다.
매매전략에 아래와 같은 3개의 변수에 대해 빠른 최적화 2회를 실시한다고 가정해 보겠습니다.
P1:기본값 5, 최소값 1, 최대값 10, 증가단위1
P2:기본값 3, 최소값 1, 최대값 10, 증가단위1
P3:기본값 7, 최소값 1, 최대값 10, 증가단위1
빠른 최적화 1회
1-1. 맨처음에는 P1 값의 변수 변화에 따른 성과를 측정하는데 이때 P2와 P3은 기본값 3과 기본값 5로 고정해 놓은 상태에서 P1변수를 1부터 10까지 증가시켜가며 성과를 측정합니다. P1 변수의 8값에서 최고의 수익이 나왔다면
1-2. P1변수는 8, P3 변수는 7로 고정해 놓고 P2변수를 1부터 10까지 변화시키며 성과를 측정합니다. P2 변수의 2 값에서 최고의 수익이 나왔다면
1-3. P1변수는 8, P2변수는 2로 고정해 놓고 P3변수를 1부터 10까지 변화시키며 성과를 측정합니다. P3 변수의 6 값에서 최고의 수익이 나왔다면
빠른 최적화 2회
2-1. P2변수는 2, P3변수는 6으로 고정해 놓고 P1 변수를 1부터 10까지 변화시키며 성과를 측정합니다. P1 변수의 5값에서 최고의 수익이 나왔다면
2-2 P1변수는 5, P3변수는 6으로 고정해 놓고 P2 변수를 1부터 10까지 변화시키며 성과를 측정합니다. P2 변수의 4 값에서 최고의 수익이 나왔다면
2-3 P1변수는 5, P2 변수는 4값으로 고정해 놓고 P3 변수를 1부터 10까지 변화시키며 성과를 측정합니다.
위와같은 방식으로 제일 먼저 테스트 할 때(1-1, 1-2)는 다른 변수는 기본값으로 고정해 놓고 변수를 변화시켜가며 성과를 측정하지만, 이후(1-3부터)에는 직전에 최고의 수익이 나온 변수로 고정해 놓고 다른 변수를 테스트하는 방식입니다.
빠른 최적화의 경우는 대부분 10회 이내에 각 변수별로 최고의 수익이 나오는 값이 고정되기 때문에 더이상 최고 수익이 나오는 변수가 나오지 않는다면 빠른 최적화를 중지하게 됩니다. 예를 들어 빠른 최적화 100회로 설정해 놓더라도 5회에서 모든 변수의 최고 수익이 고정되게 되면 5회로 빠른 최적화는 종료 됩니다.
빠른 최적화에서 문제가 되는 부분은 1-1, 1-2의 최적화시에 다른 변수를 기본값으로 고정해 놓고 테스트 한다는 부분입니다. 만일 기본값을 다른 값으로 변경해서 빠른 최적화를 진행해 본다면 최고 수익을 내는 변수가 달라질 수도 있습니다.
이런 상황은 빠른최적화가 부분최적화를 하기 때문에 발생되는 구조적인 문제입니다. 이런 문제를 해결하려면 사용자가 기본값을 변경해 가면서 빠른최적화를 반복해 보는 방법이 있습니다. 하지만, 기본값을 수작업으로 변경해 가면서 빠른최적화를 반복한다는 것은 너무 불편하기 때문에 기본값을 다르게 적용해 가면서 빠른최적화를 반복해 볼 수 있도록 '연속설정' 기능을 제공하는 것입니다.
감사합니다.
> 행복곰 님이 쓴 글입니다.
> 제목 : 빠른 최적화에 대해 더 알고 싶습니다
> 항상 감사드립니다.
외부변수가 많을경우, (또는, 경우의 수가 너무 많을경우)
보통 몇 시간에서, 결과값에 아예 컴퓨터가 멈추거나, 강제종료되는 경우가 있을만큼
일반 컴퓨터에서는 시간이 너무 많이 소모되는 변수가 너무 많은 백테스트 경우에는
따라서, 빠른최적화 기능이 있으며, 추가로, [연속설정] 기능을 만드신것으로 알고있습니다.
궁금한 점은, 빠른최적화에서도, 1회부터 100000 (10만회) 연속설정 또한, 1회부터
10만회 제가 입력하는 수치만큼 입력할 수 있는데,
이 빠른최적화가 변수들을 어떻게 해서 최적화로 나오는지의 원리와 수치가 궁금합니다.
빠른최적화를 1회 - 10회가 가장 효율이 좋을지
보통, 1000회를 넘기고, 1만회 10만회로 범위를 넓히는게 과연 효율적인건지 궁금합니다.
연속설정도, 10회가 효율이 좋은지, 1000회로 늘리는게 더 좋은지요?