Представьте себе многообразие, в котором кластеры управляются вашим вариантом использования

TL; DR:

Средняя общая прибыль от дневной торговли была увеличена на 158% (максимум 232%) по сравнению с оптимизированным для базового уровня оптимальным уровнем прибыли условного ордера ПОКУПКА ДЛЯ ОТКРЫТИЯ с использованием TML с приспособлением, основанным на точности. критериев и на 200% (максимум 244%) с использованием TML с критерием пригодности ориентированный на прибыль. В конечном итоге демонстрируя уровень прибыли 95% от идеального уровня прибыли, используя только (9) кластеров TML!

Справочная публикация №1: Новая золотая лихорадка искусственного интеллекта - межпространственное машинное обучение (предоставлено панорамой!)

Справочная публикация № 2: Дневная торговля с ИИ: когда держать, когда сбрасывать, а когда не играть!

Пример:

  • Собственное приложение 2StrikeTrader для оптимизации распределенной прибыли и тестирования на истории было разработано для обеспечения реалистичной тиковой производительности « Thinkscript », совместимого с «Условные заявки », о чем свидетельствует торговая платформа TDAmeritrade ThinkorSwim ».
  • Случайная выборка из (20) торговых дней была выбрана с января 2020 года по октябрь 2020 года.
  • Для оценки и оптимизации прибыли в этом конкретный пример, (4) связанные числовые параметры.
  • Для условия ПРОДАТЬ ДО ЗАКРЫТИЯ было выбрано реалистичное значение « Скальп », чтобы ограничить вычислительные требования, хотя параметр 2StrikeTrader поддерживает произвольные условные ордера ОТКРЫТЬ и ЗАКРЫТЬ в дополнение к связанным транзакциям с условными поручениями.
  • Были выбраны реалистичный StopLoss и различные торговые правила, такие как минимальное время между последовательными сделками и максимальное время продолжительности торговли.
  • Все ордера Исполнения являются недетерминированными и имеют случайную реалистичную конечную продолжительность и зависят от фактического исторического разброса цен от тика к тику, независимо от особенности связанных условий срабатывания триггера, включая фактические торговые комиссии и затраты.
  • На самом базовом уровне приложение «2StrikeTrader» представлено экземпляром условного ордера и соответствующими торговыми правилами для определенного периода времени, в данном случае - указанного исторического торгового дня, соответствующего в стандартные часы торгов на NYSE, и все итоговые сделки, если таковые имеются, заносятся в таблицу вместе с соответствующими данными о прибылях и убытках и различными данными о результатах.
  • В данном случае каждый экземпляр условного ордера BUY-TO-OPEN был представлен приложению 2StrikeTrader для каждого из ранее упомянутых случайных выборка (20) торговых дней, и все результирующие сделки, если таковые были, были сведены в таблицу вместе с соответствующими данными о прибылях и убытках и различными данными результатов.
  • Текущая распределенная оптимизация на внутреннем / локальном кластере была выполнена на торговой прибыли в параметрическом пространстве условного порядка BUY-TO-OPEN, промежуточные результаты которой последующие примерно до (3) миллионов проверенных на истории сделок в этом примере.
  • Предыдущее исследование с использованием TML (Дневная торговля с ИИ: когда держать, когда сбрасывать и когда не играть! ») выявило примерно (9) уникальных типов торговых дней / кластеров. .
  • Список условных ордеров КУПИТЬ ДЛЯ ОТКРЫТИЯ был составлен на основе результатов прибылей и убытков в результате упомянутой выше оптимизации, критериями выбора были критерии выбора для каждой из ранее упомянутых случайных выборок из ( 20) торговых дней, в список добавлен условный ордер, обеспечивающий максимальную прибыль за отдельный торговый день. В результате получается список из (20) уникальных условных ордеров, (1) для каждого из (20) торговых дней.
  • Эти промежуточные результаты были использованы для определения оптимизированного единственного наилучшего условного ордера ПОКУПКА ДЛЯ ОТКРЫТИЯ и соответствующего уровня прибыли при применении ко всем (20) из указанного выше списка торговых дней, формирование базового уровня представленных результатов (т.е. 1122,36 доллара США).
  • Кроме того, эти промежуточные результаты также использовались для определения оптимизированных (20) лучших условных ордеров BUY-TO-OPEN и связанных уровней прибыли при применении к каждому из (20) выше. ссылочный список торговых дней, формирующий идеальную прибыль из представленных результатов (т.е. 4045,80 $).
  • Для каждого торгового дня был создан (20) -мерный вектор исходных данных с использованием указанного выше списка условных заявок, состоящий из результатов прибыли для каждого из условных заявок на каждый торговый день, в результате чего была получена матрица (20 ) строк, каждая строка которых соответствует торговому дню, по (20) столбцам, где каждый столбец соответствует определенному условному ордеру, взятому из указанного выше списка условных ордеров.
  • Для целей настоящего анализа параметр n_components UMAP был ограничен диапазоном от (1) до (100) включительно, чтобы помочь ограничить вычислительные требования.
  • СЛУЧАЙ № 1: TML был выполнен, как описано в Справочном сообщении № 1, для (20) -мерного вектора исходных данных для экземпляров (2) - ( 9) кластеры (20) торговых дней, причем Фитнес является Зависящим от точности, как определено и показано ниже в Фрагменте кода № 1.
  • СЛУЧАЙ № 2: TML был выполнен, как описано в Справочном сообщении № 1, для (20) размерного вектора необработанных данных для экземпляров (2) - ( 9) кластеры (20) торговых дней, за исключением того, что Пригодность является Ориентированной на прибыль, как определено как максимальная прибыль, полученная в результате применения наилучшего условного ордера к каждому из торговых дней участников, содержащихся в одном и том же кластер и показан ниже в разделе Фрагмент кода 2.

Фрагмент кода №1: СЛУЧАЙ №1 - Определение пригодности TML на основе точности

if ( num_clusters_found == desired_num_clusters ):
    genome.fitness = 10000.0 / abs( clustered_COMB_sum_SE + 1)
elif ( num_clusters_found == 0 ):
    genome.fitness = -99999.0
else:
    genome.fitness = 10000.0 / abs( clustered_COMB_sum_SE + 1) - ( abs( num_clusters_found - desired_num_clusters ) * 10000.0 )

Фрагмент кода № 2: СЛУЧАЙ № 2 - Определение пригодности TML, ориентированного на прибыль

if ( num_clusters_found == desired_num_clusters ):
    genome.fitness = round( max_profit_results_total , 2 )
elif ( num_clusters_found == 0 ):
    genome.fitness = -99999999.99
elif ( num_clusters_found > desired_num_clusters ):
    genome.fitness = round( max_profit_results_total , 2 ) - ( abs( num_clusters_found - desired_num_clusters ) * 999999.99 )
elif ( num_clusters_found < desired_num_clusters ):
    genome.fitness = round( max_profit_results_total , 2 )

СЛУЧАЙ №1 Результаты кластера: ‹идентификатор кластера для каждого торгового дня›

2_groups =  [0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0]
3_groups =  [0, 2, 0, 0, 0, 2, 0, 2, 2, 2, 2, 0, 1, 2, 2, 0, 1, 2, 0, 0]
4_groups =  [1, 3, 1, 0, 1, 2, 0, 3, 2, 3, 3, 1, 3, 3, 3, 1, 3, 3, 0, 1]
5_groups =  [1, 2, 1, 1, 1, 3, 1, 2, 3, 4, 2, 0, 2, 4, 4, 1, 2, 4, 1, 0]
6_groups =  [4, 0, 5, 1, 4, 2, 1, 0, 2, 3, 2, 5, 2, 3, 3, 5, 2, 2, 1, 5]
7_groups =  [5, 3, 2, 6, 5, 4, 6, 3, 4, 4, 3, 0, 1, 4, 4, 2, 1, 4, 6, 0]
8_groups =  [2, 6, 4, 3, 2, 1, 3, 6, 1, 0, 7, 5, 7, 0, 0, 4, 7, 1, 3, 5]
9_groups =  [5, 2, 6, 6, 5, 7, 0, 2, 3, 4, 3, 1, 8, 7, 4, 6, 8, 3, 0, 1]

СЛУЧАЙ № 2 Результаты кластера: ‹идентификатор кластера для каждого торгового дня, -1 = шум›

2_groups = [0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0]
3_groups = [0, 2, 0, 1, 0, 2, 1, 2, 2, 2, 2, 0, 1, 2, 2, 0, 1, 2, 1, 0]
4_groups = [3, 1, 3, 2, 3, 1, 2, 1, 1, 0, 1, 3, 1, 0, 0, 3, -1, 1, 2, 3]
5_groups = [4, 1, -1, 3, 4, 2, 3, 1, 2, 0, 2, 4, 2, 0, 0, 4, 2, 2, 3, 4]
6_groups = [1, 4, 2, 0, 1, 5, 0, 4, 5, 3, 5, 2, 5, 3, 3, 2, 5, 5, 0, 2]
7_groups = [1, 3, 0, 0, 1, 6, 2, 3, 4, 5, 3, -1, 6, 5, 6, 0, 4, 6, 2, -1]
8_groups = [4, 2, 6, 4, 7, 0, 5, 2, 0, 1, 2, 6, 3, 1, 1, 7, 3, -1, 5, 6]
9_groups = [7, 0, 7, 6, 5, 2, 8, 0, 2, 1, 0, 4, -1, 1, 3, 5, 6, 3, 8, 4]

СЛУЧАЙ № 1: результаты межпространственного машинного обучения с учетом точности:

# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  6960.645449059028 283
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.9899501200650853
# New best: n_components              =  2
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  9.899501200650853
# OUT: num_clusters_found              =  2
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  1.0
# OUT: clusterer_probabilities_sum_SE  =  0.0
# OUT: clusterer_outlier_scores_sum    =  0.0015822293367931729
# OUT: clusterer_outlier_scores_sum_SE =  0.43664837882984625
# OUT: clustered_COMB_sum_SE           =  0.43664837882984625
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  6720.868483129303 373
# New best: metric                    =  euclidean
# New best: n_neighbors               =  3
# New best: min_dist                  =  0.9806751960376385
# New best: n_components              =  18
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  1.6702124432516032
# OUT: num_clusters_found              =  3
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9993063223980639
# OUT: clusterer_probabilities_sum_SE  =  0.09623772308554056
# OUT: clusterer_outlier_scores_sum    =  0.0025235186134864853
# OUT: clusterer_outlier_scores_sum_SE =  0.39166522057448777
# OUT: clustered_COMB_sum_SE           =  0.48790294366002834
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  2939.8809783443057 4630
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.9844851363095762
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  1.1229283586031105
# OUT: num_clusters_found              =  4
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9968783377316119
# OUT: clusterer_probabilities_sum_SE  =  1.2007491244818755
# OUT: clusterer_outlier_scores_sum    =  0.0031216622683879758
# OUT: clusterer_outlier_scores_sum_SE =  1.2007491244818773
# OUT: clustered_COMB_sum_SE           =  2.401498248963753
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3045.165030327623 3917
# New best: metric                    =  euclidean
# New best: n_neighbors               =  7
# New best: min_dist                  =  0.6260033494778696
# New best: n_components              =  12
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  1.2862412571303103
# OUT: num_clusters_found              =  5
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9975813533345275
# OUT: clusterer_probabilities_sum_SE  =  0.5958724223069191
# OUT: clusterer_outlier_scores_sum    =  0.005716892648354481
# OUT: clusterer_outlier_scores_sum_SE =  1.6880218495658013
# OUT: clustered_COMB_sum_SE           =  2.2838942718727204
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  1732.0858838985607 4545
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.00014802695356725215
# New best: n_components              =  100
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.0014802695356725215
# OUT: num_clusters_found              =  6
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9956191549442621
# OUT: clusterer_probabilities_sum_SE  =  2.3866928865825363
# OUT: clusterer_outlier_scores_sum    =  0.0043808450557378305
# OUT: clusterer_outlier_scores_sum_SE =  2.3866928865825368
# OUT: clustered_COMB_sum_SE           =  4.773385773165073
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  2285.7317026684736 5927
# New best: metric                    =  euclidean
# New best: n_neighbors               =  4
# New best: min_dist                  =  0.9897506613403609
# New best: n_components              =  4
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  1.5290874475004406
# OUT: num_clusters_found              =  7
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9961980874927786
# OUT: clusterer_probabilities_sum_SE  =  1.4769404959232644
# OUT: clusterer_outlier_scores_sum    =  0.005252921933911367
# OUT: clusterer_outlier_scores_sum_SE =  1.8980261671918843
# OUT: clustered_COMB_sum_SE           =  3.3749666631151487
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  810.1674860187684 1423
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  1.4868494804381109e-06
# New best: n_components              =  8
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  1.4868494804381112e-05
# OUT: num_clusters_found              =  8
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9909003457401072
# OUT: clusterer_probabilities_sum_SE  =  5.6715633943426
# OUT: clusterer_outlier_scores_sum    =  0.009099654259892849
# OUT: clusterer_outlier_scores_sum_SE =  5.671563394342598
# OUT: clustered_COMB_sum_SE           =  11.343126788685197
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  325.6759659174568 5198
# New best: metric                    =  euclidean
# New best: n_neighbors               =  18
# New best: min_dist                  =  8.039789228616619e-05
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.000803978922861662
# OUT: num_clusters_found              =  9
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9896990917080315
# OUT: clusterer_probabilities_sum_SE  =  14.852683413142193
# OUT: clusterer_outlier_scores_sum    =  0.010300908291968587
# OUT: clusterer_outlier_scores_sum_SE =  14.852683413142191
# OUT: clustered_COMB_sum_SE           =  29.705366826284383
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

СЛУЧАЙ № 2: результаты трансмерного машинного обучения с ориентацией на прибыль:

# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  2535.44 1395
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.9898727892678176
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  9.898727892678176
# OUT: num_clusters_found              =  2
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  1.0
# OUT: clusterer_probabilities_sum_SE  =  0.0
# OUT: clusterer_outlier_scores_sum    =  0.10330661568964306
# OUT: clusterer_outlier_scores_sum_SE =  476.4889195566858
# OUT: clustered_COMB_sum_SE           =  476.4889195566858
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  2862.08 6642
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.9889775140187894
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  5.439376327103341
# OUT: num_clusters_found              =  3
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9008155222968117
# OUT: clusterer_probabilities_sum_SE  =  494.3500852332057
# OUT: clusterer_outlier_scores_sum    =  0.1796910875126781
# OUT: clusterer_outlier_scores_sum_SE =  973.9897235113592
# OUT: clustered_COMB_sum_SE           =  1468.3398087445648
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3168.96 544
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.9899646227970397
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  1.268392172958707
# OUT: num_clusters_found              =  4
# OUT: ratio_clustered                 =  0.95
# OUT: clusterer_probabilities_sum     =  0.9040157841809119
# OUT: clusterer_probabilities_sum_SE  =  783.7466136449924
# OUT: clusterer_outlier_scores_sum    =  0.10391968348217817
# OUT: clusterer_outlier_scores_sum_SE =  687.0016157510179
# OUT: clustered_COMB_sum_SE           =  1470.7482293960102
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3400.26 3984
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.07610414130677623
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.6754242540976391
# OUT: num_clusters_found              =  5
# OUT: ratio_clustered                 =  0.95
# OUT: clusterer_probabilities_sum     =  0.9173306574389718
# OUT: clusterer_probabilities_sum_SE  =  620.9235863442633
# OUT: clusterer_outlier_scores_sum    =  0.14005500094976522
# OUT: clusterer_outlier_scores_sum_SE =  1125.5807144701594
# OUT: clustered_COMB_sum_SE           =  1746.5043008144225
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3571.48 4003
# New best: metric                    =  euclidean
# New best: n_neighbors               =  2
# New best: min_dist                  =  0.11196689952462023
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.48985518542021356
# OUT: num_clusters_found              =  6
# OUT: ratio_clustered                 =  1.0
# OUT: clusterer_probabilities_sum     =  0.9554661189961415
# OUT: clusterer_probabilities_sum_SE  =  240.74812753244228
# OUT: clusterer_outlier_scores_sum    =  0.04453388100385862
# OUT: clusterer_outlier_scores_sum_SE =  240.74812753244228
# OUT: clustered_COMB_sum_SE           =  481.49625506488456
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3672.64 3289
# New best: metric                    =  euclidean
# New best: n_neighbors               =  17
# New best: min_dist                  =  1.1788093535203123e-05
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.00011788093535203124
# OUT: num_clusters_found              =  7
# OUT: ratio_clustered                 =  0.9
# OUT: clusterer_probabilities_sum     =  0.8712199643328573
# OUT: clusterer_probabilities_sum_SE  =  1083.217201695875
# OUT: clusterer_outlier_scores_sum    =  0.05462809203438301
# OUT: clusterer_outlier_scores_sum_SE =  193.552372568906
# OUT: clustered_COMB_sum_SE           =  1276.769574264781
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3837.86 2136
# New best: metric                    =  euclidean
# New best: n_neighbors               =  4
# New best: min_dist                  =  0.8185177469639503
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.8185177469639503
# OUT: num_clusters_found              =  8
# OUT: ratio_clustered                 =  0.95
# OUT: clusterer_probabilities_sum     =  0.9702919848658391
# OUT: clusterer_probabilities_sum_SE  =  63.60717739223244
# OUT: clusterer_outlier_scores_sum    =  0.03424018339893043
# OUT: clusterer_outlier_scores_sum_SE =  67.71528722826933
# OUT: clustered_COMB_sum_SE           =  131.32246462050176
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
# New best_fitness_so_far =  3860.24 4165
# New best: metric                    =  euclidean
# New best: n_neighbors               =  20
# New best: min_dist                  =  0.08596176527296671
# New best: n_components              =  1
# New best: min_samples               =  2
# New best: min_cluster_size          =  1
# New best: cluster_selection_epsilon =  0.08596176527296671
# OUT: num_clusters_found              =  9
# OUT: ratio_clustered                 =  0.95
# OUT: clusterer_probabilities_sum     =  0.9449802983006546
# OUT: clusterer_probabilities_sum_SE  =  505.03948103008213
# OUT: clusterer_outlier_scores_sum    =  0.012417795839334533
# OUT: clusterer_outlier_scores_sum_SE =  15.985840410910544
# OUT: clustered_COMB_sum_SE           =  521.0253214409927
# $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

Резюме:

  • Прибыль была увеличена на 232% и в среднем на 158% выше оптимизированного наилучшего единственного условного заказа с использованием TML с критерием пригодности «Accuracy-Driven» (рис. 1).
  • Прибыль была увеличена на 244% и в среднем на 200% выше оптимизированного лучшего единственного условного ордера с использованием TML с критерием пригодности «Ориентация на прибыль» (рис. 1).
  • Используя TML, уровень прибыли, равный более 95% от идеального уровня прибыли, был достигнут только с (9) кластерами TML (Рисунок 1).
  • Комбинированная ошибка сама по себе не обязательно указывает на лучший критерий выбора коллектора TML для конкретного варианта использования (рисунок 2).
  • Учитывая, что размерность многообразия TML была ограничена от (1) до (100) измерений, похоже, что результаты СЛУЧАЯ № 1, «ориентированные на точность», могли бы выиграть от увеличения верхней границы (рис. 3).
  • Многогранность TML результатов CASE № 2 «Ориентация на прибыль» должна рассматриваться как уникальная для этого конкретного варианта использования (рисунок 3).
  • Стоит отметить, что в случае результатов кластера СЛУЧАЙ № 2 торговые дни, идентифицированные с идентификатором кластера «-1», идентифицируются как «шум» и, таким образом, вносят (0) прибыль в общую прибыль, связанную с экземпляром количества кластеры / группы (т.е. только 2, 3 и 6 кластеров включают вклад в прибыль за все (20) торговых дней).
  • В качестве отправной точки критерии пригодности «на основе точности» обеспечили отличное улучшение прибылей от дневной торговли, хотя критерии пригодности «на основе прибыли» (т. Е. Для конкретных случаев использования) были лучше во всех случаях, за исключением случая (6) TML. кластеры, где результаты были одинаковыми (рисунок 1). Стоит отметить, что в случае кластеров TML (6), где результаты «Прибыль» были одинаковыми, соответствующие результаты «Точность» (рис. 2) и результаты «размерности» многообразия TML (рис. 3) заметно различаются.
  • ОБЩАЯ ИНФОРМАЦИЯ. Даже для одних и тех же данных доступно бесконечное количество многообразий TML. И каждый из них работает по-разному для вашего конкретного случая использования! Используя TML с обучением с подкреплением на основе Hybrid-NEAT, вы можете получить результаты, которые лучше всего подходят для вашего варианта использования!

Вдохновение:

  • UMAP, Лиланд Макиннес
  • HDBSCAN, Лиланд Макиннес, Джон Хили, Стив Астелс
  • NEAT, Кеннет Стэнли

Об Эндрю (Энди) Карле:

Проповедник приложения TransDimentional Machine Learning (TML), активный разработчик приложения Day-Trade «2StrikeTrader», компьютерного контроллера бейсбольной машины для подачи «2StrikeHitter», «GitHub AI Brain-of-Brains» и «GITHUB2VEC» продуктивности НЛП инструменты. Увлеченный многопрофильный инженер-аэрокосмический машиностроитель с обширным опытом интеграции искусственного интеллекта, гибридного машинного обучения с подкреплением (Hybrid-NEAT), науки о данных и многопрофильного моделирования в оптимизации, проектировании и анализе на основе гибридного обучения с подкреплением. разработки сложных авиационных, космических и наземных систем и инженерного инструментария.