MT용 Python으로 거래 시스템 만들기. - 페이지 11

 
Yuriy Asaulenko :

From Theory to Practice 라는 주제를 읽은 사람들은 이미 내 시스템과 A_K2 시스템이 채널에서 작동하는 거의 동일한 이데올로기에 따라 구축된다는 것을 알고 있습니다. 유일한 차이점은 광산이 1년 전에 지어졌다는 것입니다. 나는 이미 이 전략이 Python에서 약간의 변경으로 구현 및 테스트되었음을 이미 썼습니다.

왜냐하면 나는 많은 아이디어가 없었고 모든 종류의 지표를 개발 중이었습니다. 그 중 하나가 위의 게시물입니다. 리벳이 박힌 조각 10개. 결과적으로 채널의 작업과 추세에 대한 작업을 하나의 일관된 시스템으로 결합하는 아이디어가 고슴도치와 뱀을 교차하도록 형성되었습니다. 일반적으로 아직 시도하지 않았지만 일부 요소는 이미 해결했습니다. 모든 것이 맞는 것 같지만 질문이 있습니다. 실제로 일어나는 일은 말하기 어렵습니다. 어쩌면 아무것도 아닐 수도 있습니다. 봅시다.

안녕하세요 유리님! Python 지식을 개발하고 경험을 통해 배우기 위해 최신 버전의 개발을 다운로드/볼 수 있습니까? :-)
 

만일을 대비하여 Python을 사용하는 사람들을 위한 소식입니다. 버전 3.6은 개발이 중단되었으며 보안 업데이트만 있을 것입니다. 지원 기간은 21세까지입니다.

현재 버전은 3.7입니다. 현재 3.7.2. 최신 Anaconda에서 3.7.1을 사용하고 있습니다.

사실 제가 아나콘다를 망가뜨리고 새로 설치를 해보니 많이 변했다는 걸 알았습니다. 그들이 말했듯이 버전 3.7은 더 빨라졌고 (내가 알기 전까지는 모든 것이 나에게 적합했습니다) 구문이 보완되었고 새로운 기능이 나타났습니다.

 

손은 여전히 신경망 및 기타 ML에 도달하지 못합니다. 측정에 푹 빠졌습니다. 저는 현재 시장 매개변수와 그 추세를 측정하기 위한 도구를 만듭니다. 사실은 어떤 신경망-숲-나무와 다른 M1도 이러한 매개변수를 발명하거나 계산할 수 없지만 이 모든 것을 사용하고 일반화할 수 있다는 것입니다.

그리고 여기 파이썬의 또 다른 도구가 있습니다.

여기에서 1분 TF를 위해 단 3시간입니다. 곡선은 시장 활동을 측정합니다. 일반적으로 시장 활동은 가격 움직임이 시작되기 전에도 크게 증가하며 이는 움직임의 시작을 알리는 좋은 지표입니다. 그리고 활동 감소의 시작은 거의 항상 플랫으로의 전환의 시작입니다. 그림은 지표가 가격 차트에서 MA(12)보다 훨씬 앞서 있음을 보여줍니다.

표시기는 미래 움직임의 방향을 결정하지 않습니다. 교차점에서 직사각형을 그리고 방향을 대입하는 것은 MO 분기에서 하는 것처럼 사소한 문제이며 정신적으로 그릴 수 있으며 여기에 추세 표시기가 있습니다.)) 그리고 사소할 뿐만 아니라 불필요하고 해로운 - 이것은 많은 지표 매개변수를 파괴합니다. 그리고 시스템은 지표의 공동 처리에 참여하고 더 최적으로 수행합니다.

PS 여기 PM에서 지표가 ATR과 유사하다는 말을 들었습니다.

기본적으로 변동성도 측정하지만 수학은 다릅니다. 이것은 내 이해의 변동성입니다.)) 제 생각에는 거래 활동을 더 잘 반영합니다.

 

포럼에 대한 누군가의 제출에서 칼만 필터를 구현했습니다 . 너무 칭찬 너무 칭찬 ...

일반적으로 그는 가시적인 결과가 거의 없을 것이라고 썼지만 여전히 확인하기로 결정했습니다.

그림에서 MA 48과 이 MA를 기반으로 만든 칼만 필터(올바른 비교를 위해 동일한 객체를 다루어야 함).

예, 약 1.5배 빠르지만 28-30의 주기로 MA로 대체될 수 있습니다. 그것들은 완전히 겹치지는 않지만 MA 또는 Kalman 중 어느 것이 더 낫다고 말하기는 어렵습니다.

결론: 많은 문제, 약간의 의미. 물론 거래 작업을 위해. 우리는 탐색을 하지 않습니다.

 

Python 모델에는 다항식 회귀가 필요했습니다. 어쩌면 당신에게도 필요할 것입니다.

원천:

import matplotlib.pyplot as plt
import numpy as np 
from sklearn.preprocessing import PolynomialFeatures 
from sklearn.linear_model import LinearRegression
from sklearn.linear_model import Ridge
from sklearn.pipeline import make_pipeline

# Подготовка данных
x=np.linspace(- 5 , 5 ,num= 100 )
Y =np.array([( 0.13 *x1** 3 - 0.5 *x1** 2 - 0.8 *x1- 0.1 ) for x1 in x])
# график исходной кривой.
plt.plot(Y)
X=x[:, np.newaxis]
N= 3
# полином регрессия
model=make_pipeline(PolynomialFeatures(N, include_bias=False), Ridge())
model.fit(X,Y)
y_plot = model.predict(X)
# накладываем поверх графика линию регрессии
plt.plot(y_plot)

일정:

이것은 하나가 아니라 두 개의 차트입니다. 그것들은 완전히 겹쳤습니다. 왜냐하면 예상했던 것입니다. 원래 곡선과 회귀는 3차 다항식입니다. 주문 오류 1e-3.

 

또 다른 다항식 회귀 모델. 그 오류는 이미 약 1.0e-15입니다.

import matplotlib.pyplot as plt
import numpy as np 
from sklearn.preprocessing import PolynomialFeatures 
from sklearn.linear_model import LinearRegression
#from sklearn.linear_model import Ridge
#from sklearn.pipeline import make_pipeline

# Подготовка данных
x=np.linspace(- 5 , 5 ,num= 100 )
Y =np.array([( 0.13 *x1** 3 - 0.5 *x1** 2 - 0.8 *x1- 0.1 ) for x1 in x])
plt.plot(Y)
X=x[:, np.newaxis]
N= 3
# расчет и вычисление линии регрессии
poly=PolynomialFeatures(N,include_bias= False )
Xm=poly.fit_transform(X)
reg = LinearRegression().fit(Xm, Y)
y_plot=reg.predict(Xm)
# график линии регрессии
plt.plot(y_plot)

나는 일정을 표시하지 않습니다, 그것은 변경되지 않았습니다. 위의 게시물을 참조하세요.

 

이제 MA가 회귀선을 대체할 수 있는지 봅시다. 그림을 참조하십시오.

녹색 - 회귀선(3차 다항식), 주황색 - MA(350).

데리는데 오랜 시간이 걸렸고, 밀접하게 결합하는 것도 불가능했습니다. 이 MA는 아마도 최고 중 하나일 것입니다. 그건 그렇고, 이것은 지표 재건의 이점에 관한 것이기도 합니다.)

미래에 우리는 여전히 회귀선으로 여러 실험을 수행할 수 있습니다.

 
Yuriy Asaulenko :

포럼에 대한 누군가의 제출에서 나는 Kalman 필터를 구현했습니다. 너무 칭찬 너무 칭찬 ...

- 그래서 나는 Pavarotti가 마음에 들지 않았습니다. 그는 burrs, 그는 음표를 치지 않습니다 ...

- 파바로티 콘서트 가봤어?

- 아니요, Rabinovich가 전화로 노래를 불렀습니다.

 
TheXpert :

- 그래서 나는 Pavarotti가 마음에 들지 않았습니다. 그는 burrs, 그는 음표를 치지 않습니다 ...

- 파바로티 콘서트 가봤어?

- 아니요, Rabinovich가 전화로 노래를 불렀습니다.

칼만 필터 를 트레이딩에 적용할 생각이라면 기사를 던질 수 있다. 클래식 알고리즘, 종소리와 휘파람이 없습니다. 여기에서 수학 만 기사에서 자신을 프로그래밍해야합니다. 마음을 정하십시오. 그러면 Rabinovich의 인도를 받지 않을 것입니다.)

사유: