記事についてのディスカッション - ページ 3

 
例えば、マーチンによるものではありませんが、成長時または減少時のロット増加、ロットサイズ変更の停止、別のシーケンスのロットのヘッジなど、さまざまなバリエーションがあります。
削除済み  
1_lexa:
乗数のオプションはどこで見ることができますか? 例えば、マーチンではなく、成長時や減少時のロットの増加、ロットサイズの変更の停止、別のシーケンスのロットのヘッジ、その他の様々なバリエーションがあります。

grid_coefficients, grid_distances, grid_size

ここでグリッドは全てのケースで固定と仮定され、機械学習アルゴリズムはそれを全ての状況に一般化する。ヘッジについては、マークアップとテスターのロジックを修正する必要がある。まだやっていない。

削除済み  
Aleksey Vyazmikin:

利益ではなく、未決済ポジションの 数でマークアップするようにする。

選択肢はたくさんある。別の勉強が終わったら、やってみます。

難しいことではありません。マークアップの条件を変えるだけです。
削除済み  
Maxim Dmitrievsky:

いろいろな選択肢があるからね。他の研究が終わったら、試してみるよ。

マークアップの条件を変えるだけだ。
def add_labels(dataset, min, max, distances, coefficients):
    labels = []
    for i in range(dataset.shape[0]-max):
        rand = random.randint(min, max)
        all_pr = dataset['close'][i:i + rand + 1]

        grid_stats = {'up_range': all_pr[0] - all_pr.min(),
                      'dwn_range': all_pr.max() - all_pr[0],
                      'up_state': 0,
                      'dwn_state': 0,
                      'up_orders': 0,
                      'dwn_orders': 0,
                      'up_profit': all_pr[-1] - all_pr[0] - MARKUP,
                      'dwn_profit': all_pr[0] - all_pr[-1] - MARKUP
                      }

        for i in np.nditer(distances):
            if grid_stats['up_state'] + i <= grid_stats['up_range']:
                grid_stats['up_state'] += i
                grid_stats['up_orders'] += 1
                grid_stats['up_profit'] += (all_pr[-1] - all_pr[0] + grid_stats['up_state']) \
                * coefficients[int(grid_stats['up_orders']-1)]
                grid_stats['up_profit'] -= MARKUP * coefficients[int(grid_stats['up_orders']-1)]

            if grid_stats['dwn_state'] + i <= grid_stats['dwn_range']:
                grid_stats['dwn_state'] += i
                grid_stats['dwn_orders'] += 1
                grid_stats['dwn_profit'] += (all_pr[0] - all_pr[-1] + grid_stats['dwn_state']) \
                * coefficients[int(grid_stats['dwn_orders']-1)]
                grid_stats['dwn_profit'] -= MARKUP * coefficients[int(grid_stats['dwn_orders']-1)]
        
        if grid_stats['up_orders'] < grid_stats['dwn_orders'] and grid_stats['up_profit'] > 0:
            labels.append(0.0)
            continue
        elif grid_stats['dwn_profit'] > 0:
            labels.append(1.0)
            continue
        
        labels.append(2.0)

    dataset = dataset.iloc[:len(labels)].copy()
    dataset['labels'] = labels
    dataset = dataset.dropna()
    dataset = dataset.drop(
        dataset[dataset.labels == 2].index).reset_index(drop=True)
    return dataset

黄色 - 条件を変更

結果(2020.05スタディー)

これらの条件を自由に変更するのは簡単で、時間フィルター(前回の記事を参照)などを追加することができる。

2010年以前から、ボットがほとんど死なない設定を見つけることが可能です(いくつかのケースでドローダウンを扱う場合)。

まだ多くの取引がある

前回の記事から類推して、パラメータを検索してみよう。

 
Maxim Dmitrievsky:

黄色 - コンディションを変更する

結果(2020.05からのトレーニング)

これらの条件は簡単に変更することができ、時間フィルター(前回の記事を参照)やその他のフィルターを追加することができます。

2010年以前(ドローダウンを2、3のケースで扱った場合)から、ボットがほとんど死なないような設定を見つけることも可能です。

まだ多くの取引がある

前回の記事から類推して、パラメーターの検索を行うべきかもしれない。

その方がよさそうです。

私にとって、モデル・グリッドでのトレーニングのポイントは、特定のレベルでポジションを建てる のが得策か、このシグナルをスキップするのが得策かを判断することです。そして、この目的のために、モデルは、クロージング・ポイントに達したときに、集約されたポジションのクロージングを利益として評価すべきである。利益が出るのであれば、ポジションを建てる意味はありません。この目的のために、ポジションがクローズする瞬間の価格値を推定する必要があります。

削除済み  
Aleksey Vyazmikin:

その方がいい。

私にとって、グリッド・モデルのトレーニングのポイントは、特定のレベルでポジションを建てる のが得策か、このシグナルをスキップするのが得策かを判断することです。この目的のために、モデルは、終値に達したときに利益が出るかどうか、総合ポジションの決済を評価する必要がある。利益が出るのであれば、ポジションを建てる意味はありません。この目的のために、ポジションがクローズする瞬間の価格値を推定する必要があります。

そう悪くはない、はい、それはより長い履歴上で動作するように変形を解決するために残っている。例えば、トレーニング中にそのような例がなかったため、強い下落の危機では機能しません。

 
Maxim Dmitrievsky:

だから悪くはない。例えば、強い下落を伴う危機では機能しない。訓練中にそのような例がなかったからだ。

危機の中で生き残ろうとすれば、危機の前後で得られる利益よりはるかに小さくなる。危機でデポの一部を失い、危機の前後で失ったものの何倍もの収入を得るか、危機で流出するチャンスはないが、収入は3~5倍遅くなるか、哲学的な問題である。

大きな動きで生き残るためには、少なくともダイナミックなレベルが必要だ。

削除済み  
Aleksey Vyazmikin:

危機の中で生き残るために努力すれば、トータルで得られる利益は危機の前後よりもずっと少なくなる。危機でデポの一部を失い、危機の前後で失ったものの何倍もの収入を得るか、危機で流出するチャンスはないが、収入は3~5倍遅くなるか、哲学的な問題である。

大きな動きで生き残るためには、少なくともダイナミックなレベルが必要だ。

危機と静かな市場を近似させるなら、そう、標準的なチップでは厳しい。あるいは妥協点を探す。

 
Aleksey Vyazmikin:

その方がいい。

私にとって、グリッド・モデルのトレーニングのポイントは、特定のレベルでポジションを建てる のが得策か、このシグナルをスキップするのが得策かを 判断することです。そのために、このモデルは、終値に達したときに利益が出るかどうか、ポジションの決済を評価 しなければならない。利益が出るのであれば、ポジションを建てる意味はありません。この目的のために、ポジションを閉じる瞬間の価格値を推定する必要があります。

この場合、それはグリッドなのでしょうか? 予測が利益がないことを示すのであれば、ぜひクローズする必要があり、オープンするかどうかを考える必要はありません。そして、グリッドでは、とにかくオープンすべきです。

なぜなら、グリッドは、同じ利益でより確率の高いポイントにクローズポイントを移動させるための距離を獲得しようとしているだけだからだ。

もし、グリッドに煩わされたくなければ、結果のマトリックスを作り、新しい値動きごとに、つまり新しい予測ごとに、ベイズによって それを修正すべきである。

削除済み  
Aleksey Mavrin:

この場合、グリッドなのでしょうか? もし、利益が出ないという予想であれば、ぜひクローズすべきです。そして、グリッドでは、とにかくオープンすべきです。

なぜなら、グリッドは、同じ利益でより確率の高いポイントにクローズポイントを移動させるための距離を獲得 しようとしているだけだからです。

グリッドに煩わされたくなければ、結果のマトリックスを作り、新しい値動き、つまり新しい予測ごとにベイズで 修正するべきだ。

これは、グリッドなしでは不可能な他のセットアップを見つけることが目的だった。