트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 2798

 
mytarmailS #:
따라가지만 아무것도 이해하지 못합니다...(

예를 들어 무엇을-문제를 해결하려면 문제를 해결하기위한 기준이 필요하며 오류이기도합니다))))


이제 나는 당신이 게시물을 완성했음을 알았습니다. 그래서 나는 대답 할 수 있습니다.

당신은 오류 만 찾고 있습니다. 여기에 MO 몽상가의 문제가 있습니다. 특정 예측 결과가 아니라 오류를 찾고 있습니다. 아주 작은 실수라도 100%_실수입니다.))) 우선 금융 시장에서는.

계속 틀립니다))) 더 이상 대답하고 간섭하지 않겠습니다.

 
Uladzimir Izerski #:

이제야 게시물을 업데이트한 것을 확인했습니다.

게다가 오래 전에 질문에도 답변했습니다.)


울라드지미르 이저스키 #:

당신은 오류 만 찾고 있습니다. 이것이 MO 몽상가의 문제입니다. 예측의 구체적인 결과가 아닌 오류를 검색합니다.

당신은 "오류"의 개념을 매우, 매우 좁게 보고 있습니다.

어떤 경우에는 지표를 예측하는 데 오류가 있었습니다,

다른 경우에는 대차대조표 곡선이나 이상적인 자본과의 편차, 혹은

또는 자본 성장의 역학관계일 수도 있고

또는 예를 들어 알고리즘 오류의 수(알고리즘 오류의 수 또한 오류입니다).

또는 알고리즘 로봇을 눈으로 보고 (코드/버튼으로) '이건 좋지만 이건 하지 마, 이것도 오류로 간주할 수 있어'라고 말할 수 있습니다.....

그리고 수백만 가지의 다양한 변형이 있으며, 심지어 당신이 하는 일에도 어떤 기준(좋은/나쁜)이 있습니다. 그것도 실수입니다.

당신이 그것을 깨닫지 못하고 인정하지 않는다는 사실, 그것은 단지 당신의 것입니다...


실수란 좋은/나쁜 기준을 숫자로 표현한 것입니다.

 

울라드지미르는 유치할 정도로 호기심 많은 마음으로 다시 한 번 이 스레드에서 참가자들의 신뢰를 떨어뜨리는 의미를 이해하려고 노력하고 있습니다:

방정식재구성:"블랙박스".

"블랙 박스 " 모델링 문제에서 가장 어렵고 가장"매혹적인 " 공식으로,대상에 대한 선험적 정보가없으므로 모델의 구조가 없습니다. 흥미로운 점은관찰된 행동을 재현하거나 향후 진화를 예측할 있는모델은관찰된 계열,사실상'무에서'로부터만얻어야 한다는 사실에 있습니다.성공 확률은적지만 운이좋으면 "좋은 " 모델은 대상을 특성화하고그 기능의"메커니즘 "을 이해하는 데 매우 유용한 도구가 됩니다: "거의 허풍이 큰 승리로 이어질 수 있다".선험적정보가 없으면인공 신경망,방사형 기저 함수,대수 다항식 등과 같은 보편적인 모델 방정식 구조를 사용해야 합니다.이러한 모델은 종종 다차원적인 것으로 판명되며 알려지지 않은 많은 매개 변수를 포함합니다.


ZY와 1 년 이상 전에 그는 자신이 신경망을 사용하고 모든 TS가이를 기반으로한다고 썼습니다... 그런 광대 abzdez

#870

#1826

우리의 친애하는 울라 지미르는 2 개월 만에 신경망을 매우 빠르게 배웠습니다.

나는 그가 그랬 으면 좋겠지 만 2 년 전에 그는 이미 NS로부터 신호를 받고있었습니다.

#5758

그래서 유형은 술에 취한 무감각 한 상태에서 말도 안되는 말을하고 거짓말, 거짓말, 거짓말.... 그리고 자신과 그의 미친 지표를 불신 할뿐입니다.

 

윈도우 바이어스를 통해 모델을 꽤 잘 테스트한 것으로 밝혀졌습니다. 0이 아닌 많은 지연이 발생하고 더 나은 통계(예: mi)가 나온다면 해당 모델은 무작위 추출에 기반한 것입니다.

그렇지 않으면 모호하고 수익성 있는 TS가 한 번에 그렇게 많을 수 없습니다.

저는 Sanych의 지침에 따라 거의 같은 그림으로 STD를 통해 선택하려고 했습니다. 그러나 저는 각각의 특성을 개별적으로 선택하지 않고 특성 세트를 선택했습니다.

특성을 다시 개별적으로 살펴 보겠습니다.

 
>>> results = []
>>> for i in range(25):
...     pr = get_prices()
...     pr = labeling_shift(pr,shift=i)
...     mi = mutual_info_classif(pr[pr.columns[1:-1]], pr[pr.columns[-1]])
...     results.append([mi.mean(), mi.std(), mi, i])
...     print(i)
... 
results.sort()
results[-1]    
pd.DataFrame(results)

최고 점수는 지연 9이지만 표준편차는 0이 더 좋습니다:

15  0.002473  0.002008  [0.0, 0.0, 0.0, 7.738132773948969 e-05, 0.00428...   0
16  0.002482  0.002536  [0.0027194272625081783, 0.004082692968791601, ...   4
17  0.002544  0.002137  [0.00016451381901605444, 0.003159073557252867,...   2
18  0.002678  0.002174  [0.0, 0.0015686230398428425, 0.000974887322880...   8
19  0.002749  0.001978  [0.0, 0.001425018820565338, 0.0, 0.0, 0.002788...   1
20  0.002793  0.002378  [0.00535509344523355, 0.0, 0.00400320235670181...  12
21  0.002897  0.002330  [0.00406257691063705, 0.001421806087245736, 0....  13
22  0.003113  0.002501  [0.0, 0.0, 0.004822852461999094, 3.66068989796...  10
23  0.003195  0.002560  [0.0024128008240758003, 0.0, 0.001845732619932...  11
24  0.003255  0.002406  [0.0, 0.0, 0.0034648745240082324, 0.0063568287...   9

오카베는 두 가지의 백테스트를 살펴봅니다:

0-я:

0번째는 논리적으로 백테스트에서 값의 확산이 더 낮습니다. 왜냐하면 mi의 std가 처음에 더 작기 때문입니다. 그러나 이는 OOS의 결과에 영향을 미치지 않으며, mi(상호 정보)의 값이 더 높다고 해서 결과에도 영향을 미치지 않습니다.

이제 많은 수의 기능(여기서는 14개 기능)에 대해 재학습한다고 가정해 보겠습니다.

MA_PERIODS = [i for i in range(10, 150, 10)]

각 기능의 통계를 살펴보고 지연이 9개인 모델에 가장 적합한 기능만 선택해 보겠습니다:

>>> results[24]
[0.003255328338368026, 0.002405621052220332, array([0.        , 0.        , 0.00346487, 0.00635683, 0.00490859,
       0.        , 0.00305732, 0.00268664, 0.00877952, 0.00305562,
       0.00138638, 0.00320064, 0.00415751, 0.00452067]), 9]
>>> 

일부 기능은 완전히 무효화되어 가치가 없습니다. 0.004보다 큰 것들만 골라서 훈련해 보겠습니다:

>>> per = results[24][2]
>>> np.array(per) > 0.004
array([False, False, False,  True,  True, False, False, False,  True,
       False, False, False,  True,  True])
>>> 

MA_PERIODS = [40, 50, 90, 130, 140] - отобранные фичи

훈련 및 테스트:

Mnde.

결론: 훈련 샘플의 정보 상관관계가 높을수록 테스트 샘플의 모델을 개선하는 데 도움이 되지 않습니다.

그러나 이것은 경쟁에서 %의 몇 분의 1을 짜내는 데 사용될 수 있으며, 전문가들은 Busting과 같은 최신 모델의 기능을 미리 선택하면 거의 아무것도 제공하지 않는다고 말합니다.

 
Maxim Dmitrievsky #:

윈도우 바이어스를 통해 모델을 꽤 잘 테스트한 것으로 밝혀졌습니다. 0이 아닌 많은 지연이 발생하고 더 나은 통계(예: mi)가 나온다면 해당 모델은 무작위성을 기반으로 구축된 것입니다.

그렇지 않으면 모호할 것이고, 한 번에 그렇게 많은 수익성 있는 TC가 있을 수 없습니다.

저는 Sanych의 지침에 따라 거의 같은 그림으로 STD를 통해 선택하려고 했습니다. 하지만 저는 각각의 표지판을 개별적으로 선택하지 않고 세트별로 선택했습니다.

특성을 다시 개별적으로 살펴 보겠습니다.

특성과 대상 특성 간의 상관 관계를 수치로 추정하는 STD?

먼저 상관관계가 있는 것을 제거해야 합니다. 어떤 이유에서인지 내 특성의 최적 상관관계는 75%입니다.

그런 다음 최대 점수를 가진 5~10개의 특성을 선택합니다.

위의 게시물에서와 같이 그림을 그려서 상관관계가 성적을 나누는지 확인합니다.

예측 오차는 30% 미만이어야 합니다. 그렇지 않은 경우 해당 특성은 폐기해야 합니다.

 
СанСаныч Фоменко #:

특성과 대상의 관계를 수치로 추정할 수 있나요?

먼저 상관관계가 없는 특성을 제거해야 합니다. 제 특성의 경우, 어떤 이유에서인지 최적의 상관관계는 75%입니다.

그런 다음 최대 점수를 가진 5~10개의 특성을 선택합니다.

위 게시물에서와 같이 그림을 그려서 상관관계가 클래스별로 나뉘어 있는지 확인합니다.

예측 오차는 30% 미만이어야 합니다. 그렇지 않은 경우 해당 기능은 폐기해야 합니다.

엔트로피를 보면 상관관계가 무시할 수 있는 수준(0.003)이지만 1에 가까워야 한다는 것을 알 수 있습니다.

하지만 제가 그 차이를 추정했기 때문에 상관없습니다. 그래도 약간의 개선이 있어야 합니다. 차이가 미미해서 없을 수도 있습니다.

일반적으로 모든 것이 좋더라도 (세트에 좋은 기능이 있음) 다른 기능을 제거 할 필요는 없습니다.

비표준 창과 같은 다른 것들을위한 빌렛입니다.
 
Maxim Dmitrievsky #:

를 사용하면 엔트로피에서 상관관계가 무시할 수 있는 수준(0.003)이지만 1에 가까워지는 경향이 있음을 알 수 있습니다.

하지만 제가 그 차이를 추정했기 때문에 상관없습니다. 그래도 약간의 개선이 있어야 합니다. 차이가 미미해서 없을 수도 있습니다.

일반적으로 모든 것이 좋더라도 (세트에 좋은 칩이 있음) 나머지 칩은 제거 할 필요가 없습니다.

점수 자체는 상대적인 것입니다.

사진을 반복하겠습니다.

나쁘고 절망적 인 %


더 좋은 점은 여러 개가 있으면 약 30 %의 예측 오류에 대해 이야기 할 수 있습니다.



그리고 훈련 세트에서 칩이 쓰레기를 선호 할 수 있기 때문에 쓰레기를 제거해야 최적의 값을 찾는 것이 더 쉽습니다.

 
Maxim Dmitrievsky #:

최신 버스팅 유형 모델에 대한 기능을 미리 선택하면 거의 아무것도 얻을 수 없습니다.

버스팅은 모든 열과 모든 예제에서 최적의 분할을 찾습니다. 즉, 가장 좋은 칩을 사용합니다.
Schuch. 숲은 각 트리에 대해 칩의 절반과 예제의 절반(비율은 구성 가능)을 취한 다음 20-100개의 트리에서 평균을 구합니다. 200개의 칩 중 정보성 칩이 5개만 있는 경우 일부 트리에는 정보성 칩이 포함되지 않습니다(트리당 평균 2.5개 정보성 칩). 그리고 정보 트리의 일부를 노이즈 트리로 평균화합니다.
노이즈 트리는 (고전적인 예제나 MO 작업에서처럼) 많은 정보 칩이 있는 경우 잘 작동합니다.

버스팅은 모든 피치를 검사하기 때문에 가장 유익한 피치를 찾아서 사용합니다. 따라서 버스팅의 로직에 따라 가장 좋은 피시를 스스로 선택합니다. 하지만 버스 팅에는 자체적인 문제도 있습니다.

 
elibrarius #:

버스팅은 모든 칩을 검사하기 때문에 가장 유익한 칩을 찾아서 사용합니다. 따라서 버스 팅의 논리에 따라 최상의 칩을 선택합니다. 하지만 버스팅에는 자체적인 문제도 있습니다.

저는 그 반대를 증명하는 샘플로 주제를 만들었습니다. 부스팅은 전능하지 않으며, 특히 즉시 사용 가능한 것은 아닙니다.