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

 
콘스탄틴 니키틴 :

내 관찰에 따르면, 아직 1 이상의 샤프를 올리는 것은 불가능합니다. 네, 그리고 큰 지표가 있는 다른 사람의 계정/차트를 아직 본 적이 없습니다. 내가 틀릴 수도 있지만.

알렉세이 비아즈미킨 :

공식의 설명에서 확인 방법이 명확하지 않습니다. 예를 들어 " 포지션 보유 기간 동안의 이익의 산술 평균 "을 계산하는 방법은 무엇입니까?

약간의 수학적 기대치일까요?

어쨌든 나는이 지표가 높을수록 더 좋고 이것으로 충분하지 않으며 주요 보고서는 내가 이해하는 지표와 함께 파일에 작성된다는 것을 알았습니다.

자, 무엇을 말씀드릴 수 있을까요, 친애하는 선생님들...

블랙박스, 외국 라이브러리 등을 사용하면 생기는 부작용입니다.

나는 당신의 연구를 CSV 형식으로 공개할 것을 제안할 수 있으며 모델의 정확한 Sharp Ratio가 무엇인지 알려줄 것입니다. 코드를 직접 계산할 수 있습니다(python)

import random

import csv

import matplotlib

import matplotlib.pyplot as plt


def rndWalk(length, start, var):

    rndwalk = []

    curent = start

    for _ in range(length):

        curent*= 1 + random.gauss(0,3) * var

        rndwalk.append(curent)

    return rndwalk


def ParseCsv(path, columnName):

    tab = csv.DictReader(open(path))

    price = []

    for row in tab: price.append(float(row[columnName]))

    return price


def diff(ts):

    return [ts[n] - ts[n - 1] for n in range(1, len(ts))]


def SharpRatio(PnL):

    ret = sum(PnL) / len(PnL)

    var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5

    return len(PnL) ** 0.5 * ret / var


rw = rndWalk(10000,100,0.001)

sr = SharpRatio(diff(rw))

print(sr)


plt.plot(rw)

plt.show()


코드 자체 SharpRatio 코드 3줄만

def SharpRatio(PnL):

ret = 합(PnL) / len(PnL)

var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5

반환 len(PnL) ** 0.5 * ret / var


에퀴티나 PnL을 잃으면 문제가 무엇인지 알아낼 것입니다. PnL이 "방출"되는 경우, 즉 여기에서 거래(물론 올바르지 않음)와 스케일링 사이의 간격이 있는 것으로 추측할 수 있습니다. 문제가 되는 $100를 걸겠습니다.

 
팬츄럴 :

자, 무엇을 말씀드릴 수 있을까요, 친애하는 선생님들...

블랙박스, 외국 라이브러리 등을 사용하면 생기는 부작용입니다.

나는 당신의 연구를 CSV 형식으로 공개할 것을 제안할 수 있으며 모델의 정확한 Sharp Ratio가 무엇인지 알려줄 것입니다. 코드를 직접 계산할 수 있습니다(python)

분 단위로 어떻게 에퀴티를 줄 수 있습니까?

 
알렉세이 비아즈미킨 :

분 단위로 어떻게 에퀴티를 줄 수 있습니까?

상관없어 어쨌든 해보자

그건 그렇고, 샤프가 잘못 계산될 때의 신호 중 하나는 다른 스케일의 자산이 상당히 다른 샤프 비율 수치를 제공할 때입니다. 일반적으로 매우 가깝습니다.
 
팬츄럴 :

상관없어 어쨌든 해보자

그건 그렇고, 샤프가 잘못 계산될 때의 신호 중 하나는 다른 스케일의 자산이 상당히 다른 샤프 비율 수치를 제공할 때입니다. 일반적으로 매우 가깝습니다.

좋아, 하지만 조금 후에 - 이제 모든 자동차가 이야기에 맞춰 부풀어 오르고 있습니다 :)

 
팬츄럴 :

상관없어 어쨌든 해보자

그건 그렇고, 샤프가 잘못 계산될 때의 신호 중 하나는 다른 스케일의 자산이 상당히 다른 샤프 비율 수치를 제공할 때입니다. 일반적으로 매우 가깝습니다.

분당 옵션을 부여 하고 테스터의 거래 보고서를 첨부합니다.

실제 성능이 약간 향상되었습니다.

샤프 비율은 현재 0.29입니다.

파일:
KS.zip  102 kb
 
알렉세이 비아즈미킨 :

분당 옵션을 부여하고 테스터의 거래 보고서를 첨부합니다.

실제 성능이 약간 향상되었습니다.

샤프 비율은 현재 0.29입니다.

실제 샤프 비율 = ~3.79

당신의 숫자를 계산하는 알고리즘을 만든 사람들의 실수는 분명합니다. 그들은 시리즈 길이의 제곱근 에 대한 변동에 대한 수익의 비율을 조정하는 것을 어리석게도 잊어 버렸습니다.

def SharpRatio(PnL):

PnL = [abs(x) > 0인 경우 PnL의 x에 대한 x]

ret = 합(PnL) / len(PnL)

var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5

반환 len(PnL) ** 0.5 * ret / var


추신: SR=3.79는 물론 작업장(어느 정도)이 아니고 올바르게 테스트된 경우 매우 낙관적입니다.

 
팬츄럴 :

실제 샤프 비율 = ~3.79

당신의 숫자를 계산하는 알고리즘을 만든 사람들의 실수는 분명합니다. 그들은 시리즈 길이의 제곱근에 대한 변동에 대한 수익의 비율을 조정하는 것을 어리석게도 잊어 버렸습니다.

def SharpRatio(PnL):

PnL = [abs(x) > 0인 경우 PnL의 x에 대한 x]

ret = 합(PnL) / len(PnL)

var = ((sum([(x - ret) ** 2 for x in PnL]) / len(PnL))) ** 0.5

반환 len(PnL) ** 0.5 * ret / var


추신: SR=3.79는 물론 작업장(어느 정도)이 아니고 올바르게 테스트된 경우 매우 낙관적입니다.

다시 계산해 주셔서 감사합니다!

이것이 실제로 오류라면 터미널의 전역 오류이기 때문에 특별한 주제 로 보고할 가치가 있습니까?

그리고 피팅과 관련하여 저는 MO에 대한 저만의 접근 방식을 가지고 있습니다. 저는 나무에서 잎을 수집한 다음 두 샘플 모두에 긍정적인 영향이 있었던 훈련된 샘플과 알려지지 않은 샘플의 맥락에서 역사에서 그 효과를 살펴봅니다. 자세한 선택 및 분석을 위해 다음 그룹에 속합니다. 부분적으로 이것은 조정이지만 그러한 "시트"가 이전에 작동했고 현재 작동 중이며 다음에 무슨 일이 일어날지 아무도 모른다는 사실에 대한 수정 사항이 있습니다.

 
알렉세이 비아즈미킨 :

다시 계산해 주셔서 감사합니다!

이것이 실제로 오류라면 터미널의 전역 오류이기 때문에 특별한 주제 로 보고할 가치가 있습니까?

예, 버그는 반드시 보고되어야 합니다. 귀하의 보고서를 예로 사용해도 될까요?

알렉세이 비아즈미킨 :

그리고 피팅과 관련하여 저는 MO에 대한 저만의 접근 방식을 가지고 있습니다. 저는 나무에서 잎을 수집한 다음 두 샘플 모두에 긍정적인 영향이 있었던 훈련된 샘플과 알려지지 않은 샘플의 맥락에서 역사에서 그 효과를 살펴봅니다. 자세한 선택 및 분석을 위해 다음 그룹에 속합니다. 부분적으로 이것은 조정이지만 그러한 "시트"가 이전에 작동했고 현재 작동 중이며 다음에 무슨 일이 일어날지 아무도 모른다는 사실에 대한 수정 사항이 있습니다.

적합성은 어디에나 있습니다. 무엇을 말하든지 문제는 그것을 수용 가능한 수준으로 줄이는 방법입니다.

 
팬츄럴 :

적합성은 어디에나 있습니다. 무엇을 말하든지 문제는 그것을 수용 가능한 수준으로 줄이는 방법입니다.

안 돼요. 모든 최적화, 모든 조정, 모든 교육이 적합합니다. 어쩔 수 없이 받아들이고 노력하면 됩니다.

여기서 질문을 다르게 해야 합니다. 불행히도 일반적인 방법은 없으며 다른 시스템을 위한 준비 자체가 있을 수 있습니다. 다른.

 
유리 아사울렌코 :

안 돼요. 모든 최적화, 모든 조정, 모든 교육이 적합합니다.

여기서 질문을 다르게 해야 합니다. 불행히도 일반적인 조리법은 없으며 다른 시스템에 대한 설정 자체가 있을 수 있습니다. 다른.

있다

조정하는 숫자를 사용하지 마십시오