All

Total Tests

22,498

# Pass

10,590

Pass Count:
# of Tests that met or exceeded the model's performance target (ie., 3%)

# Fail

11,908

Fail Count:
# of Tests that did not meet or exceed the model's performance target (ie., 3%)

Win Rate

47.1 %

Win Rate:
% of Tests that met or exceed the model's performance target (ie., 3%)

Hit Rate

59.0 %

Hit Rate:
% of Tests that resulted in a > 0% gain.

Avg Gain

9.4 %

Avg Performance Gain:
Average % Gain for each test defined by the theoretical buy-price v. sell-price difference.
Date Model Test Count # Pass # Fail Win Rate Hit Rate % Perf % FDM % IWN Metrics
2025-07-03 00 Rolling CatBoost 3d PC 3% v2 148 61 87 41.22 % 55.41 % 63.46 %
2025-07-03 Binned CatBoost 3d PC 3% v2 96 46 50 47.92 % 62.50 % 89.40 %
2025-07-03 Rolling LGBM 3d PC 3% v2 148 61 87 41.22 % 55.41 % 63.46 %
2025-07-02 Rolling LGBM 3d PC 3% v2 141 82 59 58.16 % 65.25 % 4.82 %
2025-06-30 00 Rolling CatBoost 3d PC 3% v2 156 82 74 52.56 % 66.67 % 3.18 %
2025-06-30 Binned CatBoost 3d PC Platt 3% v2 113 58 55 51.33 % 62.83 % 2.54 %
2025-06-30 Rolling LGBM 3d PC 3% v2 156 82 74 52.56 % 66.67 % 3.18 %
2025-06-30 Rolling LGBM 3d PC 3% v1.1 201 71 130 35.32 % 57.21 % 5.43 %
2025-06-30 Rolling LGBM 3d PH Isotonic 3% v2 156 115 41 73.72 % 84.62 % 5.74 %
2025-06-27 00 Rolling CatBoost 3d PC 3% v2 145 48 97 33.10 % 42.76 % -3.22 %
2025-06-27 Binned LGBM 3d PC 3% v2 86 36 50 41.86 % 48.84 % -2.28 %
2025-06-27 Rolling CatBoost 3d PC Platt 3% v2 145 48 97 33.10 % 42.76 % -3.22 %
2025-06-27 Rolling LGBM 3d PC 3% v1.1 173 36 137 20.81 % 37.57 % -2.68 %
2025-06-26 00 Rolling CatBoost 3d PC 3% v2 152 65 87 42.76 % 55.92 % -0.26 %
2025-06-26 Binned CatBoost 3d PC 3% v2 97 35 62 36.08 % 54.64 % 0.05 %
2025-06-26 Rolling LGBM 3d PC 3% v2 152 65 87 42.76 % 55.92 % -0.26 %
2025-06-25 Binned LGBM 3d PC 3% v2 101 36 65 35.64 % 44.55 % -0.62 %
2025-06-25 Rolling LGBM 3d PC 3% v3 158 61 97 38.61 % 48.73 % 0.52 %
2025-06-25 Rolling LGBM 3d PC Platt 3% v2 158 61 97 38.61 % 48.73 % 0.52 %
2025-06-25 Rolling LGBM 3d PH 3% v1.1 201 124 77 61.69 % 75.12 % 4.48 %
2025-06-24 Rolling CatBoost 3d PC Platt 3% v2 161 76 85 47.20 % 62.11 % 1.50 %
2025-06-24 Rolling LGBM 3d PC 3% v1.1 194 73 121 37.63 % 51.03 % 0.36 %
2025-06-24 Rolling LGBM 3d PC Platt 3% v2 161 76 85 47.20 % 62.11 % 1.50 %
2025-06-24 Rolling LGBM 3d PH 3% v1.1 194 146 48 75.26 % 85.57 % 5.73 %
2025-06-23 00 Rolling CatBoost 3d PC 3% v2 150 75 75 50.00 % 59.33 % 1.10 %
2025-06-23 Binned LGBM 3d PC 3% v2 174 88 86 50.57 % 56.90 % 0.43 %
2025-06-23 Rolling CatBoost 3d PC Platt 3% v2 150 75 75 50.00 % 59.33 % 1.10 %
2025-06-23 Rolling LGBM 3d PC 3% v2 150 75 75 50.00 % 59.33 % 1.10 %
2025-06-23 Rolling LGBM 3d PC 3% v1.1 181 83 98 45.86 % 62.43 % 1.59 %
2025-06-23 Rolling LGBM 3d PH 3% v1.1 181 139 42 76.80 % 86.19 % 5.53 %
2025-06-20 00 Rolling CatBoost 3d PC 3% v2 130 41 89 31.54 % 43.85 % 85.36 %
2025-06-20 Rolling LGBM 3d PC 3% v1.1 161 37 124 22.98 % 36.02 % 67.80 %
2025-06-20 Rolling LGBM 3d PC Platt 3% v2 130 41 89 31.54 % 43.85 % 85.36 %
2025-06-20 Rolling LGBM 3d PH 3% v1.1 161 80 81 49.69 % 65.84 % 64.91 %
2025-06-18 00 Rolling CatBoost 3d PC 3% v2 147 64 83 43.54 % 49.66 % 22.06 %
2025-06-18 Binned CatBoost 3d PC 3% v2 91 45 46 49.45 % 54.95 % 35.74 %
2025-06-18 Rolling LGBM 3d PC 3% v1.1 197 63 134 31.98 % 47.72 % 8.94 %
2025-06-17 Binned CatBoost 3d PC 3% v2 175 62 113 35.43 % 41.71 % 0.17 %
2025-06-17 Binned CatBoost 3d PC Isotonic 3% v2 175 62 113 35.43 % 41.71 % 0.17 %
2025-06-17 Rolling CatBoost 3d PC Platt 3% v2 145 42 103 28.97 % 39.31 % -0.87 %
2025-06-17 Rolling LGBM 3d PC 3% v1.1 183 47 136 25.68 % 44.81 % 0.91 %
2025-06-17 Rolling LGBM 3d PH 3% v1.1 183 106 77 57.92 % 73.77 % 5.48 %
2025-06-16 Binned CatBoost 3d PC Platt 3% v2 108 48 60 44.44 % 55.56 % 7.89 %
2025-06-16 Rolling CatBoost 3d PC Platt 3% v2 134 60 74 44.78 % 53.73 % 6.03 %
2025-06-16 Rolling LGBM 3d PC 3% v2 134 60 74 44.78 % 53.73 % 6.03 %
2025-06-16 Rolling LGBM 3d PC 3% v1.1 160 55 105 34.38 % 47.50 % 0.41 %
2025-06-16 Rolling LGBM 3d PC Platt 3% v2 134 60 74 44.78 % 53.73 % 6.03 %
2025-06-16 Rolling LGBM 3d PH 3% v1.1 160 100 60 62.50 % 75.00 % 5.24 %
2025-06-13 Binned CatBoost 3d PC 3% v2 129 51 78 39.53 % 47.29 % 80.76 %
2025-06-13 Rolling LGBM 3d PC 3% v3 273 104 169 38.10 % 43.22 % 46.12 %
2025-06-13 Rolling LGBM 3d PC Platt 3% v2 273 104 169 38.10 % 43.22 % 46.12 %
2025-06-13 Rolling LGBM 3d PH 3% v1.1 353 234 119 66.29 % 73.94 % 35.72 %
2025-06-13 Rolling LGBM 3d PH 3% v3 273 178 95 65.20 % 72.89 % 47.42 %
2025-06-12 Binned CatBoost 3d PC 3% v2 70 28 42 40.00 % 55.71 % 1.55 %
2025-06-12 Binned CatBoost 3d PC 3% v3 70 28 42 40.00 % 55.71 % 1.55 %
2025-06-12 Binned CatBoost 3d PH 3% v3 70 40 30 57.14 % 68.57 % 4.72 %
2025-06-12 Rolling LGBM 3d PC 3% v1.1 133 28 105 21.05 % 33.83 % -1.99 %
2025-06-12 Rolling LGBM 3d PH 3% v3 104 52 52 50.00 % 67.31 % 2.01 %
2025-06-11 Binned CatBoost 3d PC 3% v3 115 27 88 23.48 % 31.30 % -5.03 %
2025-06-11 Binned CatBoost 3d PC 3% v3 115 27 88 23.48 % 31.30 % -5.03 %
2025-06-11 Binned CatBoost 3d PC 3% v3 115 27 88 23.48 % 31.30 % -5.03 %
2025-06-11 Binned CatBoost 3d PH 3% v3 115 66 49 57.39 % 61.74 % 3.04 %
2025-06-11 Rolling LGBM 3d PC 3% v1.1 321 67 254 20.87 % 33.96 % 21.66 %
2025-06-11 Rolling LGBM 3d PH 3% v1.1 322 156 166 48.45 % 55.59 % 29.06 %
2025-06-10 Binned CatBoost 3d PC 3% v3 149 47 102 31.54 % 41.61 % 0.98 %
2025-06-10 Rolling LGBM 3d PC 3% v1.1 137 39 98 28.47 % 43.80 % -0.12 %
2025-06-10 Rolling LGBM 3d PC 3% v3 108 34 74 31.48 % 42.59 % -0.39 %
2025-06-10 Rolling LGBM 3d PC 3% v3 108 34 74 31.48 % 42.59 % -0.39 %
2025-06-10 Rolling LGBM 3d PC Platt 3% v2 108 34 74 31.48 % 42.59 % -0.39 %
2025-06-10 Rolling LGBM 3d PH 3% v1.1 137 70 67 51.09 % 66.42 % 4.29 %
2025-06-09 Binned CatBoost 3d PC 3% v3 95 42 53 44.21 % 54.74 % 9.10 %
2025-06-09 Binned CatBoost 3d PC 3% v3 95 42 53 44.21 % 54.74 % 9.10 %
2025-06-09 Binned CatBoost 3d PH 3% v3 95 66 29 69.47 % 83.16 % 15.72 %
2025-06-09 Rolling CatBoost 3d PC Platt 3% v2 123 49 74 39.84 % 51.22 % 6.15 %
2025-06-09 Rolling LGBM 3d PC 3% v2 123 49 74 39.84 % 51.22 % 6.15 %
2025-06-09 Rolling LGBM 3d PC Platt 3% v2 123 49 74 39.84 % 51.22 % 6.15 %
2025-06-09 Rolling LGBM 3d PH 3% v3 123 87 36 70.73 % 82.11 % 12.74 %
2025-06-06 Binned CatBoost 3d PC 3% v3 111 65 46 58.56 % 64.86 % 2.71 %
2025-06-06 Rolling LGBM 3d PC 3% v2 165 91 74 55.15 % 64.85 % 2.49 %
2025-06-06 Rolling LGBM 3d PC 3% v1.1 205 93 112 45.37 % 71.22 % 2.60 %
2025-06-06 Rolling LGBM 3d PC 3% v3 165 91 74 55.15 % 64.85 % 2.49 %
2025-06-06 Rolling LGBM 3d PH 3% v1.1 205 152 53 74.15 % 84.88 % 6.37 %
2025-06-05 00 Rolling CatBoost 3d PC 3% v2 148 74 74 50.00 % 62.84 % 2.20 %
2025-06-05 Binned CatBoost 3d PC 3% v3 100 51 49 51.00 % 65.00 % 0.86 %
2025-06-05 Binned CatBoost 3d PC 3% v3 100 51 49 51.00 % 65.00 % 0.86 %
2025-06-05 Rolling CatBoost 3d PC Platt 3% v2 148 74 74 50.00 % 62.84 % 2.20 %
2025-06-05 Rolling LGBM 3d PC 3% v2 148 74 74 50.00 % 62.84 % 2.20 %
2025-06-05 Rolling LGBM 3d PC 3% v1.1 191 68 123 35.60 % 63.35 % 1.57 %
2025-06-04 00 Rolling CatBoost 3d PC 3% v2 166 76 90 45.78 % 57.23 % 0.83 %
2025-06-04 Binned CatBoost 3d PH 3% v3 102 73 29 71.57 % 80.39 % 5.53 %
2025-06-04 Binned LGBM 3d PC 3% v2 102 49 53 48.04 % 56.86 % 0.42 %
2025-06-04 Rolling LGBM 3d PC 3% v1.1 218 71 147 32.57 % 42.20 % -0.31 %
2025-06-04 Rolling LGBM 3d PC 3% v3 166 76 90 45.78 % 57.23 % 0.83 %
2025-06-04 Rolling LGBM 3d PH 3% v1.1 218 148 70 67.89 % 81.65 % 4.98 %
2025-06-03 Binned CatBoost 3d PC 3% v3 181 104 77 57.46 % 64.64 % 2.99 %
2025-06-03 Rolling LGBM 3d PC 3% v1.1 227 101 126 44.49 % 61.67 % 2.29 %
2025-06-03 Rolling LGBM 3d PC 3% v3 178 87 91 48.88 % 59.55 % 1.87 %
2025-06-03 Rolling LGBM 3d PC 3% v3 179 87 92 48.60 % 59.22 % 1.81 %
2025-06-03 Rolling LGBM 3d PH 3% v1.1 227 165 62 72.69 % 85.02 % 6.40 %
2025-06-03 Rolling LGBM 3d PH 3% v3 179 134 45 74.86 % 84.92 % 6.75 %
2025-06-02 Binned CatBoost 3d PC 3% v3 89 55 34 61.80 % 71.91 % 3.86 %
2025-06-02 Rolling LGBM 3d PC 3% v2 122 79 43 64.75 % 72.95 % 3.14 %
2025-06-02 Rolling LGBM 3d PC 3% v1.1 151 82 69 54.30 % 68.87 % 2.68 %
2025-06-02 Rolling LGBM 3d PH 3% v1.1 151 128 23 84.77 % 88.74 % 7.37 %
2025-06-02 Rolling LGBM 3d PH 3% v3 122 101 21 82.79 % 86.89 % 7.82 %
2025-06-02 Rolling LGBM 3d PH 3% v3 122 101 21 82.79 % 86.89 % 7.82 %
2025-05-30 Binned CatBoost 3d PH 3% v3 90 63 27 70.00 % 84.44 % 6.77 %
2025-05-30 Binned LGBM 3d PC 3% v2 90 44 46 48.89 % 55.56 % 17.09 %
2025-05-30 Rolling LGBM 3d PC 3% v1.1 167 59 108 35.33 % 50.30 % 9.97 %
2025-05-30 Rolling LGBM 3d PC 3% v3 133 66 67 49.62 % 62.41 % 13.23 %
2025-05-30 Rolling LGBM 3d PC 3% v3 133 66 67 49.62 % 62.41 % 13.22 %
2025-05-30 Rolling LGBM 3d PC Platt 3% v2 133 66 67 49.62 % 62.41 % 13.22 %
2025-05-30 Rolling LGBM 3d PH 3% v1.1 166 112 54 67.47 % 86.14 % 6.09 %
2025-05-30 Rolling LGBM 3d PH 3% v3 133 95 38 71.43 % 87.97 % 6.59 %
2025-05-29 Binned CatBoost 3d PC 3% v3 111 37 74 33.33 % 42.34 % -0.02 %
2025-05-29 Rolling LGBM 3d PC 3% v1.1 213 42 171 19.72 % 31.46 % -1.20 %
2025-05-29 Rolling LGBM 3d PC Platt 3% v2 169 50 119 29.59 % 39.64 % 8.23 %
2025-05-28 Rolling LGBM 3d PC 3% v2 167 58 109 34.73 % 48.50 % -0.43 %
2025-05-28 Rolling LGBM 3d PC 3% v1.1 215 61 154 28.37 % 47.91 % 0.75 %
2025-05-28 Rolling LGBM 3d PC 3% v3 167 58 109 34.73 % 48.50 % -0.43 %
2025-05-28 Rolling LGBM 3d PC 3% v3 167 58 109 34.73 % 48.50 % -0.43 %
2025-05-28 Rolling LGBM 3d PC Platt 3% v2 167 58 109 34.73 % 48.50 % -0.43 %
2025-05-28 Rolling LGBM 3d PH 3% v1.1 215 134 81 62.33 % 75.35 % 3.56 %
2025-05-27 Binned CatBoost 3d PC 3% v2 64 25 39 39.06 % 50.00 % 1.30 %
2025-05-27 Rolling LGBM 3d PC 3% v1.1 135 48 87 35.56 % 48.15 % 1.28 %
2025-05-27 Rolling LGBM 3d PC 3% v3 121 57 64 47.11 % 57.02 % 1.72 %
2025-05-27 Rolling LGBM 3d PC Platt 3% v2 121 57 64 47.11 % 57.02 % 1.72 %
2025-05-23 Binned CatBoost 3d PC 3% v3 104 61 43 58.65 % 70.19 % 3.33 %
2025-05-23 Binned CatBoost 3d PC 3% v3 104 61 43 58.65 % 70.19 % 3.33 %
2025-05-23 Rolling LGBM 3d PC 3% v3 152 91 61 59.87 % 72.37 % 3.80 %
2025-05-23 Rolling LGBM 3d PC 3% v3 152 91 61 59.87 % 72.37 % 3.80 %
2025-05-23 Rolling LGBM 3d PH 3% v1.1 194 160 34 82.47 % 92.27 % 7.35 %
2025-05-23 Rolling LGBM 3d PH 3% v3 152 123 29 80.92 % 90.13 % 7.72 %
2025-05-22 Binned CatBoost 3d PC 3% v2 78 38 40 48.72 % 70.51 % 3.18 %
2025-05-22 Binned CatBoost 3d PC 3% v3 78 38 40 48.72 % 70.51 % 3.18 %
2025-05-22 Rolling LGBM 3d PC 3% v2 133 61 72 45.86 % 66.17 % 2.20 %
2025-05-22 Rolling LGBM 3d PC 3% v1.1 180 53 127 29.44 % 48.33 % 0.17 %
2025-05-22 Rolling LGBM 3d PC 3% v3 133 61 72 45.86 % 66.17 % 2.20 %
2025-05-22 Rolling LGBM 3d PC Platt 3% v2 133 61 72 45.86 % 66.17 % 2.20 %
2025-05-22 Rolling LGBM 3d PH 3% v1.1 180 117 63 65.00 % 82.78 % 4.46 %
2025-05-21 Binned CatBoost 3d PC 3% v3 97 33 64 34.02 % 47.42 % 2.06 %
2025-05-21 Rolling LGBM 3d PC 3% v3 154 46 108 29.87 % 40.26 % -0.08 %
2025-05-21 Rolling LGBM 3d PC 3% v3 154 46 108 29.87 % 40.26 % -0.08 %
2025-05-21 Rolling LGBM 3d PH 3% v1.1 197 104 93 52.79 % 62.44 % 3.10 %
2025-05-21 Rolling LGBM 3d PH 3% v3 154 82 72 53.25 % 62.34 % 3.24 %
2025-05-20 Rolling LGBM 3d PC 3% v2 123 36 87 29.27 % 38.21 % -2.49 %
2025-05-20 Rolling LGBM 3d PC 3% v1.1 152 29 123 19.08 % 25.00 % -3.49 %
2025-05-20 Rolling LGBM 3d PC 3% v3 123 36 87 29.27 % 38.21 % -2.49 %
2025-05-20 Rolling LGBM 3d PH 3% v3 123 68 55 55.28 % 64.23 % 2.69 %
2025-05-20 Rolling LGBM 3d PH 3% v3 123 68 55 55.28 % 64.23 % 2.69 %

© 2025 - PennyLoupe LLC. Austin, TX.

DJDT

Versions

Package Name Version
Django 5.2.1
Python 3.11.8
coverage Coverage 7.4.4
debug_toolbar Debug Toolbar 4.3.0
django_extensions Django Extensions 5.2.1
grappelli Grappelli 4.0.2

Time

Resource usage

Resource Value
User CPU time 6030.615 msec
System CPU time 14.152 msec
Total CPU time 6044.767 msec
Elapsed time 10151.483 msec
Context switches 35 voluntary, 466 involuntary

Browser timing

Timing attribute Timeline Milliseconds since navigation start (+length)

Settings from app.settings

Setting Value
ABSOLUTE_URL_OVERRIDES {}
ADMINS []
ALLOWED_HOSTS ['*']
APPEND_SLASH True
AUTH0_CLIENT_ID '********************'
AUTH0_CLIENT_SECRET '********************'
AUTH0_DOMAIN '********************'
AUTHENTICATION_BACKENDS '********************'
AUTH_PASSWORD_VALIDATORS '********************'
AUTH_USER_MODEL '********************'
BASE_DIR PosixPath('/mnt/disks/pennyloupe_disk/pennyloupe')
CACHES {'default': {'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache', 'LOCATION': '/var/tmp/django_cache'}}
CACHE_MIDDLEWARE_ALIAS 'default'
CACHE_MIDDLEWARE_KEY_PREFIX '********************'
CACHE_MIDDLEWARE_SECONDS 600
CELERY_BROKER_URL 'redis://localhost:6379'
CELERY_RESULT_BACKEND 'redis://localhost:6379'
CSRF_COOKIE_AGE 31449600
CSRF_COOKIE_DOMAIN None
CSRF_COOKIE_HTTPONLY False
CSRF_COOKIE_NAME 'csrftoken'
CSRF_COOKIE_PATH '/'
CSRF_COOKIE_SAMESITE 'Lax'
CSRF_COOKIE_SECURE False
CSRF_FAILURE_VIEW 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS []
CSRF_USE_SESSIONS False
DATABASES {'default': {'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_HEALTH_CHECKS': False, 'CONN_MAX_AGE': 0, 'ENGINE': 'django.db.backends.postgresql', 'HOST': '34.125.28.12', 'NAME': 'pennyloupe', 'OPTIONS': {}, 'PASSWORD': '********************', 'PORT': '5432', 'TEST': {'CHARSET': None, 'COLLATION': None, 'MIGRATE': True, 'MIRROR': None, 'NAME': None}, 'TIME_ZONE': None, 'USER': 'pennyloupe'}}
DATABASE_ROUTERS []
DATA_UPLOAD_MAX_MEMORY_SIZE 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS 1000
DATA_UPLOAD_MAX_NUMBER_FILES 100
DATETIME_FORMAT 'N j, Y, P'
DATETIME_INPUT_FORMATS ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M']
DATE_FORMAT 'N j, Y'
DATE_INPUT_FORMATS ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG True
DEBUG_PROPAGATE_EXCEPTIONS False
DEBUG_TOOLBAR_CONFIG {'SHOW_TOOLBAR_CALLBACK': <function <lambda> at 0x7f26149af1a0>}
DECIMAL_SEPARATOR '.'
DEFAULT_AUTO_FIELD 'django.db.models.BigAutoField'
DEFAULT_CHARSET 'utf-8'
DEFAULT_EXCEPTION_REPORTER 'django.views.debug.ExceptionReporter'
DEFAULT_EXCEPTION_REPORTER_FILTER 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FROM_EMAIL 'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE ''
DEFAULT_TABLESPACE ''
DISALLOWED_USER_AGENTS []
EMAIL_BACKEND 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST 'localhost'
EMAIL_HOST_PASSWORD '********************'
EMAIL_HOST_USER ''
EMAIL_PORT 25
EMAIL_SSL_CERTFILE None
EMAIL_SSL_KEYFILE '********************'
EMAIL_SUBJECT_PREFIX '[Django] '
EMAIL_TIMEOUT None
EMAIL_USE_LOCALTIME False
EMAIL_USE_SSL False
EMAIL_USE_TLS False
FIELD_ENCRYPTION_KEY '********************'
FILE_UPLOAD_DIRECTORY_PERMISSIONS None
FILE_UPLOAD_HANDLERS ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE 2621440
FILE_UPLOAD_PERMISSIONS 420
FILE_UPLOAD_TEMP_DIR None
FIRST_DAY_OF_WEEK 0
FIXTURE_DIRS []
FORCE_SCRIPT_NAME None
FORMAT_MODULE_PATH None
FORMS_URLFIELD_ASSUME_HTTPS False
FORM_RENDERER 'django.forms.renderers.DjangoTemplates'
GCP_LOCATION 'us-central1'
GCP_PROJECT_ID 'advance-honor-411011'
GCP_PROJECT_NUMBER '268856636042'
GCP_SERVICE_ACCOUNT '/Users/kcallahan/.config/gcloud/vector-search-user.json'
GCP_VERTEX_BUCKET 'pennyloupe-us-central1'
GCP_VERTEX_INDEX_ID '2477861603379249152'
GRAPPELLI_ADMIN_TITLE 'Penny Loupe'
GRAPPELLI_AUTOCOMPLETE_SEARCH_FIELDS {'auth': '********************'}
IGNORABLE_404_URLS []
INSTALLED_APPS ['coverage', 'grappelli', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.humanize', 'django.contrib.messages', 'django.contrib.postgres', 'django.contrib.sessions', 'django.contrib.staticfiles', 'django_htmx', 'app.core.apps.CoreConfig', 'django_extensions', 'debug_toolbar']
INTERNAL_IPS ['127.0.0.1']
LANGUAGES [('en', 'English')]
LANGUAGES_BIDI ['he', 'ar', 'ar-dz', 'ckb', 'fa', 'ug', 'ur']
LANGUAGE_CODE 'en-us'
LANGUAGE_COOKIE_AGE None
LANGUAGE_COOKIE_DOMAIN None
LANGUAGE_COOKIE_HTTPONLY False
LANGUAGE_COOKIE_NAME 'django_language'
LANGUAGE_COOKIE_PATH '/'
LANGUAGE_COOKIE_SAMESITE None
LANGUAGE_COOKIE_SECURE False
LOCALE_PATHS []
LOGGING {}
LOGGING_CONFIG 'logging.config.dictConfig'
LOGIN_REDIRECT_URL '/accounts/profile/'
LOGIN_URL '/accounts/login/'
LOGOUT_REDIRECT_URL None
MANAGERS []
MEDIA_ROOT PosixPath('/mnt/disks/pennyloupe_disk/pennyloupe/media')
MEDIA_URL '/media/'
MESSAGE_STORAGE 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE ['django.middleware.security.SecurityMiddleware', 'whitenoise.middleware.WhiteNoiseMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.cache.UpdateCacheMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django_htmx.middleware.HtmxMiddleware', 'debug_toolbar.middleware.DebugToolbarMiddleware']
MIGRATION_MODULES {}
MONTH_DAY_FORMAT 'F j'
NUMBER_GROUPING 0
OPENAI_API_KEY '********************'
PASSWORD_HASHERS '********************'
PASSWORD_RESET_TIMEOUT '********************'
POLYGON_API_KEY '********************'
PREPEND_WWW False
QT_API_KEY '********************'
QT_APP_ID '13d3cbab'
QT_PASSWORD '********************'
QT_USERNAME 'kevin+dev3@pennyloupe.com'
ROOT_URLCONF 'app.urls'
SALT_KEY '********************'
SCRAPER_API_KEY '********************'
SECRET_KEY '********************'
SECRET_KEY_FALLBACKS '********************'
SECURE_CONTENT_TYPE_NOSNIFF True
SECURE_CROSS_ORIGIN_OPENER_POLICY 'same-origin'
SECURE_HSTS_INCLUDE_SUBDOMAINS False
SECURE_HSTS_PRELOAD False
SECURE_HSTS_SECONDS 0
SECURE_PROXY_SSL_HEADER None
SECURE_REDIRECT_EXEMPT []
SECURE_REFERRER_POLICY 'same-origin'
SECURE_SSL_HOST None
SECURE_SSL_REDIRECT False
SERVER_EMAIL 'root@localhost'
SESSION_CACHE_ALIAS 'default'
SESSION_COOKIE_AGE 1209600
SESSION_COOKIE_DOMAIN None
SESSION_COOKIE_HTTPONLY True
SESSION_COOKIE_NAME 'sessionid'
SESSION_COOKIE_PATH '/'
SESSION_COOKIE_SAMESITE 'Lax'
SESSION_COOKIE_SECURE False
SESSION_ENGINE 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_FILE_PATH None
SESSION_SAVE_EVERY_REQUEST False
SESSION_SERIALIZER 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE 'app.settings'
SHORT_DATETIME_FORMAT 'm/d/Y P'
SHORT_DATE_FORMAT 'm/d/Y'
SIGNING_BACKEND 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS []
SQL_FILES_DIR '/mnt/disks/pennyloupe_disk/pennyloupe/app/core/sql'
STATICFILES_DIRS []
STATICFILES_FINDERS ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATIC_ROOT PosixPath('/mnt/disks/pennyloupe_disk/pennyloupe/static')
STATIC_URL '/static/'
STORAGES {'default': {'BACKEND': 'django.core.files.storage.FileSystemStorage'}, 'staticfiles': {'BACKEND': 'django.contrib.staticfiles.storage.StaticFilesStorage'}}
TEMPLATES [{'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['templates'], 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
TEST_NON_SERIALIZED_APPS []
TEST_RUNNER 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR ','
TIME_FORMAT 'P'
TIME_INPUT_FORMATS ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE 'UTC'
USE_I18N True
USE_THOUSAND_SEPARATOR False
USE_TZ True
USE_X_FORWARDED_HOST False
USE_X_FORWARDED_PORT False
WSGI_APPLICATION 'app.wsgi.application'
X_FRAME_OPTIONS 'DENY'
YEAR_MONTH_FORMAT 'F Y'

Headers

Request headers

Key Value
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Encoding br,gzip
Accept-Language en-US,en;q=0.5
Connection Keep-Alive
Host pennyloupe.com
If-Modified-Since Sat, 26 Apr 2025 02:05:09 GMT
User-Agent CCBot/2.0 (https://commoncrawl.org/faq/)

Response headers

Key Value
Content-Type text/html; charset=utf-8

WSGI environ

Since the WSGI environ inherits the environment of the server, only a significant subset is shown below.

Key Value
CONTENT_LENGTH
CONTENT_TYPE
PATH_INFO /model/tests
QUERY_STRING
REMOTE_ADDR 18.97.9.173
REQUEST_METHOD GET
SCRIPT_NAME
SERVER_NAME pennyloupe.com
SERVER_PORT 443
SERVER_PROTOCOL HTTP/1.1

Request

View information

View function Arguments Keyword arguments URL name
app.core.views.app.model_tests () {} model_tests

No cookies

No session data

No GET data

No POST data

SQL queries from 1 connection

  • default 586.72 ms (5 queries )
Query Timeline Time (ms) Action
SELECT "pl_model_metrics"."created_dt",
       "pl_model_metrics"."updated_dt",
       "pl_model_metrics"."status_id",
       "pl_model_metrics"."id",
       "pl_model_metrics"."date",
       "pl_model_metrics"."metrics",
       "pl_model_metrics"."identifier",
       "pl_model_metrics"."model_id"
  FROM "pl_model_metrics"
 WHERE ("pl_model_metrics"."status_id" = 10 AND "pl_model_metrics"."date" >= '2025-05-20'::date AND "pl_model_metrics"."date" <= '2025-07-19'::date)
SELECT ••• FROM "pl_model_metrics" WHERE ("pl_model_metrics"."status_id" = 10 AND "pl_model_metrics"."date" >= '2025-05-20'::date AND "pl_model_metrics"."date" <= '2025-07-19'::date)
190.80

Connection: default

Transaction status: Idle

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/app/core/views/app.py in model_tests(1459)
  for metric in metrics:

SELECT "pl_model_test"."pick_date" AS "date",
       "pl_model_test"."model_id" AS "m_id",
       "pl_model"."name" AS "m_name",
       "pl_model"."version" AS "m_version",
       COUNT("pl_model_test"."id") FILTER (WHERE ("pl_model_test"."result")) AS "pass_count",
       COUNT("pl_model_test"."id") FILTER (WHERE (NOT "pl_model_test"."result")) AS "fail_count",
       COUNT("pl_model_test"."id") FILTER (WHERE (("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') > ("pl_model_test"."meta" -> 'buy_price') AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL)) AS "hit_count",
       COUNT("pl_model_test"."id") AS "total_count",
       CASE WHEN COUNT("pl_model_test"."id") = 0 THEN 0.0
            ELSE ((COUNT("pl_model_test"."id") FILTER (WHERE ("pl_model_test"."result")) * 100.0) / COUNT("pl_model_test"."id"))
             END AS "win_rate",
       CASE WHEN COUNT("pl_model_test"."id") = 0 THEN 0.0
            ELSE ((COUNT("pl_model_test"."id") FILTER (WHERE (("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') > ("pl_model_test"."meta" -> 'buy_price') AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL)) * 100.0) / COUNT("pl_model_test"."id"))
             END AS "hit_rate",
       AVG(CASE WHEN (("pl_model_test"."meta" -> 'buy_price') > '0'::jsonb AND ("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL) THEN ((100.0 * ((("pl_model_test"."meta" -> 'sell_price'))::double precision - (("pl_model_test"."meta" -> 'buy_price'))::double precision)) / (("pl_model_test"."meta" -> 'buy_price'))::double precision) ELSE 0.0 END) AS "avg_performance"
  FROM "pl_model_test"
 INNER JOIN "pl_model"
    ON ("pl_model_test"."model_id" = "pl_model"."id")
 WHERE ("pl_model_test"."status_id" = 10 AND "pl_model_test"."pick_date" >= '2025-05-20'::date AND "pl_model_test"."pick_date" <= '2025-07-19'::date)
 GROUP BY 1,
          2,
          3,
          4
 ORDER BY 1 DESC,
          3 ASC
SELECT ••• FROM "pl_model_test" INNER JOIN "pl_model" ON ("pl_model_test"."model_id" = "pl_model"."id") WHERE ("pl_model_test"."status_id" = 10 AND "pl_model_test"."pick_date" >= '2025-05-20'::date AND "pl_model_test"."pick_date" <= '2025-07-19'::date) GROUP BY 1, 2, 3, 4 ORDER BY 1 DESC, 3 ASC
216.57

Connection: default

Transaction status: Idle

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/app/core/views/app.py in model_tests(1479)
  for n, p in enumerate(performance_data):

SELECT DATE_TRUNC('week', "pl_model_test"."pick_date") AS "week",
       CASE WHEN ("pl_model_test"."probability" >= 0.0 AND "pl_model_test"."probability" <= 0.1) THEN 0.1
            WHEN ("pl_model_test"."probability" > 0.1 AND "pl_model_test"."probability" <= 0.2)  THEN 0.2
            WHEN ("pl_model_test"."probability" > 0.2 AND "pl_model_test"."probability" <= 0.3)  THEN 0.3
            WHEN ("pl_model_test"."probability" > 0.3 AND "pl_model_test"."probability" <= 0.4)  THEN 0.4
            WHEN ("pl_model_test"."probability" > 0.4 AND "pl_model_test"."probability" <= 0.5)  THEN 0.5
            WHEN ("pl_model_test"."probability" > 0.5 AND "pl_model_test"."probability" <= 0.6)  THEN 0.6
            WHEN ("pl_model_test"."probability" > 0.6 AND "pl_model_test"."probability" <= 0.7)  THEN 0.7
            WHEN ("pl_model_test"."probability" > 0.7 AND "pl_model_test"."probability" <= 0.8)  THEN 0.8
            WHEN ("pl_model_test"."probability" > 0.8 AND "pl_model_test"."probability" <= 0.9)  THEN 0.9
            WHEN ("pl_model_test"."probability" > 0.9 AND "pl_model_test"."probability" <= 1.0)  THEN 1.0
            ELSE NULL
             END AS "bin",
       AVG(CASE WHEN (("pl_model_test"."meta" -> 'buy_price') > '0'::jsonb AND ("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL) THEN ((100.0 * ((("pl_model_test"."meta" -> 'sell_price'))::double precision - (("pl_model_test"."meta" -> 'buy_price'))::double precision)) / (("pl_model_test"."meta" -> 'buy_price'))::double precision) ELSE 0.0 END) AS "avg_performance",
       ((COUNT("pl_model_test"."id") FILTER (WHERE (("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') > ("pl_model_test"."meta" -> 'buy_price') AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL)) * 100.0) / NULLIF(COUNT("pl_model_test"."id"), 0.0)) AS "hit_rate",
       ((COUNT("pl_model_test"."id") FILTER (WHERE ("pl_model_test"."result")) * 100.0) / NULLIF(COUNT("pl_model_test"."id"), 0.0)) AS "win_rate",
       COUNT("pl_model_test"."id") AS "total_count"
  FROM "pl_model_test"
 WHERE ("pl_model_test"."status_id" = 10 AND "pl_model_test"."pick_date" >= '2025-05-20'::date AND "pl_model_test"."pick_date" <= '2025-07-19'::date)
 GROUP BY 2,
          1
 ORDER BY 1 ASC,
          2 ASC
SELECT ••• FROM "pl_model_test" WHERE ("pl_model_test"."status_id" = 10 AND "pl_model_test"."pick_date" >= '2025-05-20'::date AND "pl_model_test"."pick_date" <= '2025-07-19'::date) GROUP BY 2, 1 ORDER BY 1 ASC, 2 ASC
95.23

Connection: default

Transaction status: Idle

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/app/core/views/app.py in model_tests(1682)
  for entry in curve_data_weekly:

SELECT CASE WHEN ("pl_model_test"."probability" >= 0.0 AND "pl_model_test"."probability" <= 0.1) THEN 0.1
            WHEN ("pl_model_test"."probability" > 0.1 AND "pl_model_test"."probability" <= 0.2)  THEN 0.2
            WHEN ("pl_model_test"."probability" > 0.2 AND "pl_model_test"."probability" <= 0.3)  THEN 0.3
            WHEN ("pl_model_test"."probability" > 0.3 AND "pl_model_test"."probability" <= 0.4)  THEN 0.4
            WHEN ("pl_model_test"."probability" > 0.4 AND "pl_model_test"."probability" <= 0.5)  THEN 0.5
            WHEN ("pl_model_test"."probability" > 0.5 AND "pl_model_test"."probability" <= 0.6)  THEN 0.6
            WHEN ("pl_model_test"."probability" > 0.6 AND "pl_model_test"."probability" <= 0.7)  THEN 0.7
            WHEN ("pl_model_test"."probability" > 0.7 AND "pl_model_test"."probability" <= 0.8)  THEN 0.8
            WHEN ("pl_model_test"."probability" > 0.8 AND "pl_model_test"."probability" <= 0.9)  THEN 0.9
            WHEN ("pl_model_test"."probability" > 0.9 AND "pl_model_test"."probability" <= 1.0)  THEN 1.0
            ELSE NULL
             END AS "bin",
       AVG(CASE WHEN (("pl_model_test"."meta" -> 'buy_price') > '0'::jsonb AND ("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL) THEN ((100.0 * ((("pl_model_test"."meta" -> 'sell_price'))::double precision - (("pl_model_test"."meta" -> 'buy_price'))::double precision)) / (("pl_model_test"."meta" -> 'buy_price'))::double precision) ELSE 0.0 END) AS "avg_performance",
       ((COUNT("pl_model_test"."id") FILTER (WHERE (("pl_model_test"."meta" -> 'buy_price') IS NOT NULL AND ("pl_model_test"."meta" -> 'sell_price') > ("pl_model_test"."meta" -> 'buy_price') AND ("pl_model_test"."meta" -> 'sell_price') IS NOT NULL)) * 100.0) / NULLIF(COUNT("pl_model_test"."id"), 0.0)) AS "hit_rate",
       ((COUNT("pl_model_test"."id") FILTER (WHERE ("pl_model_test"."result")) * 100.0) / NULLIF(COUNT("pl_model_test"."id"), 0.0)) AS "win_rate",
       COUNT("pl_model_test"."id") AS "total_count"
  FROM "pl_model_test"
 WHERE ("pl_model_test"."status_id" = 10 AND "pl_model_test"."pick_date" >= '2025-05-20'::date AND "pl_model_test"."pick_date" <= '2025-07-19'::date)
 GROUP BY 1
 ORDER BY 1 ASC
SELECT ••• FROM "pl_model_test" WHERE ("pl_model_test"."status_id" = 10 AND "pl_model_test"."pick_date" >= '2025-05-20'::date AND "pl_model_test"."pick_date" <= '2025-07-19'::date) GROUP BY 1 ORDER BY 1 ASC
82.02

Connection: default

Transaction status: Idle

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/app/core/views/app.py in model_tests(1756)
  "curve_data": list(curve_data),

SELECT "pl_model"."created_dt",
       "pl_model"."updated_dt",
       "pl_model"."status_id",
       "pl_model"."id",
       "pl_model"."key",
       "pl_model"."name",
       "pl_model"."description",
       "pl_model"."type",
       "pl_model"."version",
       "pl_model"."last_trained_dt",
       "pl_model"."last_run_dt",
       "pl_model"."end_point_url",
       "pl_model"."meta",
       "pl_model"."account_id"
  FROM "pl_model"
 WHERE "pl_model"."status_id" = 10
 ORDER BY "pl_model"."name" ASC
SELECT ••• FROM "pl_model" WHERE "pl_model"."status_id" = 10 ORDER BY "pl_model"."name" ASC
2.12

Connection: default

Transaction status: Idle

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/whitenoise/middleware.py in __call__(124)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/middleware.py in __call__(43)
  return self.get_response(request)

/mnt/disks/pennyloupe_disk/pennyloupe/app/core/views/app.py in model_tests(1764)
  cache.set(cache_key, context, 24 * 60 * 60)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/core/cache/backends/filebased.py in set(55)
  self._write_content(f, timeout, value)

/mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/core/cache/backends/filebased.py in _write_content(45)
  file.write(zlib.compress(pickle.dumps(value, self.pickle_protocol)))

Static files (720 found, 2 used)

Static file paths

None

Static file apps

  1. grappelli
  2. django.contrib.admin
  3. django_htmx
  4. app.core
  5. django_extensions
  6. debug_toolbar

Static files

css/pennyloupe.css
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/css/pennyloupe.css
img/penny_loupe_logo.png
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/penny_loupe_logo.png

django.contrib.staticfiles.finders.AppDirectoriesFinder (720 files)

Path Location
.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/.DS_Store
grappelli/.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/.DS_Store
grappelli/js/grappelli.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/grappelli.js
grappelli/js/jquery.grp_related_m2m.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_related_m2m.js
grappelli/js/jquery.grp_autocomplete_fk.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_autocomplete_fk.js
grappelli/js/jquery.grp_autocomplete_generic.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_autocomplete_generic.js
grappelli/js/jquery.grp_timepicker.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_timepicker.js
grappelli/js/jquery.grp_collapsible_group.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_collapsible_group.js
grappelli/js/jquery.grp_related_generic.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_related_generic.js
grappelli/js/jquery.grp_related_fk.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_related_fk.js
grappelli/js/jquery.grp_collapsible.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_collapsible.js
grappelli/js/grappelli.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/grappelli.min.js
grappelli/js/jquery.grp_autocomplete_m2m.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_autocomplete_m2m.js
grappelli/js/jquery.grp_inline.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/js/jquery.grp_inline.js
grappelli/images/spritesheet-1694777276.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/spritesheet-1694777276.png
grappelli/images/backgrounds/loading-small.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/backgrounds/loading-small.gif
grappelli/images/backgrounds/changelist-results.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/backgrounds/changelist-results.png
grappelli/images/backgrounds/ui-sortable-placeholder.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/backgrounds/ui-sortable-placeholder.png
grappelli/images/backgrounds/nav-grabber.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/backgrounds/nav-grabber.gif
grappelli/images/backgrounds/messagelist.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/backgrounds/messagelist.png
grappelli/images/icons/ui-datepicker-next.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/ui-datepicker-next.png
grappelli/images/icons/link-external-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-external-small_hover.png
grappelli/images/icons/tools-arrow-up-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-arrow-up-handler_hover.png
grappelli/images/icons/date-hierarchy-back.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/date-hierarchy-back.png
grappelli/images/icons/tools-delete-handler-predelete.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-delete-handler-predelete.png
grappelli/images/icons/breadcrumbs-rtl.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/breadcrumbs-rtl.png
grappelli/images/icons/datepicker_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/datepicker_hover.png
grappelli/images/icons/tools-trash-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-trash-handler_hover.png
grappelli/images/icons/selector-add-m2m-vertical_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-add-m2m-vertical_hover.png
grappelli/images/icons/tools-related-remove-handler-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-remove-handler-small_hover.png
grappelli/images/icons/sorted-descending.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/sorted-descending.png
grappelli/images/icons/breadcrumbs_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/breadcrumbs_hover.png
grappelli/images/icons/tools-viewsite-link_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-viewsite-link_hover.png
grappelli/images/icons/object-tools-add-link.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/object-tools-add-link.png
grappelli/images/icons/tools-related-edit-handler-small-disabled.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-edit-handler-small-disabled.png
grappelli/images/icons/tools-related-remove-handler-small-disabled.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-remove-handler-small-disabled.png
grappelli/images/icons/sorted-ascending.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/sorted-ascending.png
grappelli/images/icons/link-internal-rtl-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-internal-rtl-small_hover.png
grappelli/images/icons/pulldown-handler_selected.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/pulldown-handler_selected.png
grappelli/images/icons/tools-delete-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-delete-handler_hover.png
grappelli/images/icons/tools-trash-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-trash-handler.png
grappelli/images/icons/related-lookup-m2m_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/related-lookup-m2m_hover.png
grappelli/images/icons/tools-arrow-down-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-arrow-down-handler.png
grappelli/images/icons/tools-arrow-down-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-arrow-down-handler_hover.png
grappelli/images/icons/selector-filter.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-filter.png
grappelli/images/icons/link-external-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-external-small.png
grappelli/images/icons/link-external-rtl-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-external-rtl-small.png
grappelli/images/icons/date-hierarchy-back_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/date-hierarchy-back_hover.png
grappelli/images/icons/change-link-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/change-link-small_hover.png
grappelli/images/icons/datetime-now.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/datetime-now.png
grappelli/images/icons/change-link-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/change-link-small.png
grappelli/images/icons/sort-remove_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/sort-remove_hover.png
grappelli/images/icons/tools-related-edit-handler-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-edit-handler-small.png
grappelli/images/icons/link-internal-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-internal-small_hover.png
grappelli/images/icons/th-ascending.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/th-ascending.png
grappelli/images/icons/related-lookup-m2m.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/related-lookup-m2m.png
grappelli/images/icons/tools-related-remove-handler-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-remove-handler-small.png
grappelli/images/icons/autocomplete-single-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/autocomplete-single-small.png
grappelli/images/icons/breadcrumbs.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/breadcrumbs.png
grappelli/images/icons/selector-add-m2m-horizontal_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-add-m2m-horizontal_hover.png
grappelli/images/icons/tools-related-add-handler-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-add-handler-small_hover.png
grappelli/images/icons/add-link-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/add-link-small_hover.png
grappelli/images/icons/add-link-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/add-link-small.png
grappelli/images/icons/add-another.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/add-another.png
grappelli/images/icons/tools-drag-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-drag-handler_hover.png
grappelli/images/icons/related-remove_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/related-remove_hover.png
grappelli/images/icons/pulldown-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/pulldown-handler.png
grappelli/images/icons/ui-datepicker-prev.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/ui-datepicker-prev.png
grappelli/images/icons/selector-remove-m2m-horizontal_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-remove-m2m-horizontal_hover.png
grappelli/images/icons/tools-close-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-close-handler_hover.png
grappelli/images/icons/tools-trash-list-toggle-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-trash-list-toggle-handler.png
grappelli/images/icons/tools-related-remove-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-remove-handler.png
grappelli/images/icons/link-internal-rtl_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-internal-rtl_hover.png
grappelli/images/icons/object-tools-viewsite-link.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/object-tools-viewsite-link.png
grappelli/images/icons/tools-related-remove-handler-disabled.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-remove-handler-disabled.png
grappelli/images/icons/timepicker.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/timepicker.png
grappelli/images/icons/tools-related-edit-handler-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-edit-handler-small_hover.png
grappelli/images/icons/selector-add-m2m-vertical.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-add-m2m-vertical.png
grappelli/images/icons/date-hierarchy-back-rtl.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/date-hierarchy-back-rtl.png
grappelli/images/icons/selector-remove-m2m-vertical_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-remove-m2m-vertical_hover.png
grappelli/images/icons/datepicker.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/datepicker.png
grappelli/images/icons/datetime-now_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/datetime-now_hover.png
grappelli/images/icons/breadcrumbs-rtl_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/breadcrumbs-rtl_hover.png
grappelli/images/icons/selector-add-m2m-horizontal.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-add-m2m-horizontal.png
grappelli/images/icons/status-no.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/status-no.png
grappelli/images/icons/status-unknown.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/status-unknown.png
grappelli/images/icons/tools-open-handler-hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-open-handler-hover.png
grappelli/images/icons/pulldown-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/pulldown-handler_hover.png
grappelli/images/icons/back-link-rtl.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/back-link-rtl.png
grappelli/images/icons/tools-remove-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-remove-handler.png
grappelli/images/icons/ui-datepicker-next_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/ui-datepicker-next_hover.png
grappelli/images/icons/date-hierarchy-back-rtl_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/date-hierarchy-back-rtl_hover.png
grappelli/images/icons/delete-link-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/delete-link-small.png
grappelli/images/icons/tools-edit-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-edit-handler_hover.png
grappelli/images/icons/tools-viewsite-link.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-viewsite-link.png
grappelli/images/icons/tools-open-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-open-handler.png
grappelli/images/icons/tools-add-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-add-handler.png
grappelli/images/icons/th-descending.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/th-descending.png
grappelli/images/icons/tools-drag-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-drag-handler.png
grappelli/images/icons/tools-related-edit-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-edit-handler.png
grappelli/images/icons/tools-related-add-handler-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-add-handler-small.png
grappelli/images/icons/sort-remove-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/sort-remove-small.png
grappelli/images/icons/related-lookup.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/related-lookup.png
grappelli/images/icons/tools-trash-list-toggle-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-trash-list-toggle-handler_hover.png
grappelli/images/icons/sort-remove.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/sort-remove.png
grappelli/images/icons/autocomplete-multiple-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/autocomplete-multiple-small.png
grappelli/images/icons/back-link-rtl_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/back-link-rtl_hover.png
grappelli/images/icons/link-internal-rtl.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-internal-rtl.png
grappelli/images/icons/link-external-rtl-small_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-external-rtl-small_hover.png
grappelli/images/icons/tools-add-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-add-handler_hover.png
grappelli/images/icons/tools-close-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-close-handler.png
grappelli/images/icons/back-link.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/back-link.png
grappelli/images/icons/selector-remove-m2m-vertical.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-remove-m2m-vertical.png
grappelli/images/icons/status-yes.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/status-yes.png
grappelli/images/icons/form-select.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/form-select.png
grappelli/images/icons/tools-related-add-handler-small-disabled.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-add-handler-small-disabled.png
grappelli/images/icons/related-remove.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/related-remove.png
grappelli/images/icons/tools-edit-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-edit-handler.png
grappelli/images/icons/tools-remove-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-remove-handler_hover.png
grappelli/images/icons/tools-delete-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-delete-handler.png
grappelli/images/icons/tools-arrow-up-handler.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-arrow-up-handler.png
grappelli/images/icons/ui-datepicker-prev_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/ui-datepicker-prev_hover.png
grappelli/images/icons/timepicker_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/timepicker_hover.png
grappelli/images/icons/filter-choice-selected-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/filter-choice-selected-small.png
grappelli/images/icons/related-lookup_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/related-lookup_hover.png
grappelli/images/icons/link-internal-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-internal-small.png
grappelli/images/icons/link-internal-rtl-small.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/link-internal-rtl-small.png
grappelli/images/icons/tools-related-remove-handler_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/tools-related-remove-handler_hover.png
grappelli/images/icons/add-another_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/add-another_hover.png
grappelli/images/icons/selector-remove-m2m-horizontal.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/selector-remove-m2m-horizontal.png
grappelli/images/icons/searchbox.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/searchbox.png
grappelli/images/icons/back-link_hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/images/icons/back-link_hover.png
grappelli/img/admin/arrow-up.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/img/admin/arrow-up.gif
grappelli/img/admin/arrow-down.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/img/admin/arrow-down.gif
grappelli/tinymce_setup/tinymce_setup.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce_setup/tinymce_setup.js
grappelli/stylesheets/screen.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/stylesheets/screen.css
grappelli/stylesheets/rtl.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/stylesheets/rtl.css
grappelli/stylesheets/mueller/screen.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/stylesheets/mueller/screen.css
grappelli/stylesheets/mueller/grid/output.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/stylesheets/mueller/grid/output.css
grappelli/stylesheets/mueller/grid/output-rtl.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/stylesheets/mueller/grid/output-rtl.css
grappelli/stylesheets/partials/custom/tinymce.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/stylesheets/partials/custom/tinymce.css
grappelli/tinymce/.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/.DS_Store
grappelli/tinymce/changelog.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/changelog.txt
grappelli/tinymce/examples/word.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/word.html
grappelli/tinymce/examples/simple.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/simple.html
grappelli/tinymce/examples/skins.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/skins.html
grappelli/tinymce/examples/.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/.DS_Store
grappelli/tinymce/examples/index.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/index.html
grappelli/tinymce/examples/full.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/full.html
grappelli/tinymce/examples/menu.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/menu.html
grappelli/tinymce/examples/custom_formats.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/custom_formats.html
grappelli/tinymce/examples/accessibility.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/accessibility.html
grappelli/tinymce/examples/templates/layout1.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/templates/layout1.htm
grappelli/tinymce/examples/templates/snippet1.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/templates/snippet1.htm
grappelli/tinymce/examples/lists/template_list.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/lists/template_list.js
grappelli/tinymce/examples/lists/media_list.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/lists/media_list.js
grappelli/tinymce/examples/lists/image_list.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/lists/image_list.js
grappelli/tinymce/examples/lists/link_list.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/lists/link_list.js
grappelli/tinymce/examples/css/word.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/css/word.css
grappelli/tinymce/examples/css/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/css/content.css
grappelli/tinymce/examples/media/sample.ram /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.ram
grappelli/tinymce/examples/media/sample.mov /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.mov
grappelli/tinymce/examples/media/sample.rm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.rm
grappelli/tinymce/examples/media/sample.avi /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.avi
grappelli/tinymce/examples/media/sample.swf /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.swf
grappelli/tinymce/examples/media/sample.dcr /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.dcr
grappelli/tinymce/examples/media/logo.jpg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/logo.jpg
grappelli/tinymce/examples/media/sample.flv /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/sample.flv
grappelli/tinymce/examples/media/logo_over.jpg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/examples/media/logo_over.jpg
grappelli/tinymce/jscripts/tiny_mce/tiny_mce_popup.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/tiny_mce_popup.js
grappelli/tinymce/jscripts/tiny_mce/license.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/license.txt
grappelli/tinymce/jscripts/tiny_mce/tiny_mce.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/tiny_mce.js
grappelli/tinymce/jscripts/tiny_mce/tiny_mce_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/tiny_mce_src.js
grappelli/tinymce/jscripts/tiny_mce/utils/mctabs.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/utils/mctabs.js
grappelli/tinymce/jscripts/tiny_mce/utils/form_utils.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/utils/form_utils.js
grappelli/tinymce/jscripts/tiny_mce/utils/editable_selects.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/utils/editable_selects.js
grappelli/tinymce/jscripts/tiny_mce/utils/validate.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/utils/validate.js
grappelli/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js
grappelli/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js
grappelli/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif
grappelli/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js
grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css
grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css
grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css
grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css
grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/image.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/image.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/shortcuts.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/shortcuts.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/about.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/about.htm
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/shockwave.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/shockwave.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/quicktime.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/quicktime.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/iframe.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/iframe.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/video.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/video.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/trans.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/trans.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/realmedia.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/realmedia.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/flash.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/flash.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/pagebreak.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/pagebreak.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/windowsmedia.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/img/windowsmedia.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_pl.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_pl.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_base.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_base.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_typography.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_typography.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/ui.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/customized.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/customized.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_de.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_de.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_en.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_en.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_cs.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_documentstructure_cs.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_grid.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content_grid.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/content.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/dialog.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/dialog.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/icons/icon-fb_show.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/icons/icon-fb_show.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/icons/icon-fb_show-hover.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/icons/icon-fb_show-hover.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/icons/icon-mceResize.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/icons/icon-mceResize.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/menu/icon-mceOpen.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/menu/icon-mceOpen.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/customized/button_pagebreak.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/customized/button_pagebreak.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/customized/pagebreak.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/customized/pagebreak.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/unlink.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/unlink.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/visualchars.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/visualchars.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_row_after.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_row_after.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifycenter.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifycenter.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/redo.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/redo.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/link.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/link.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_delete_row.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_delete_row.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/pasteword.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/pasteword.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/italic.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/italic.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/fullscreen.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/fullscreen.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/code.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/code.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/image.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/image.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifyright.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifyright.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_row_before.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_row_before.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/template.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/template.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/show_advanced.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/show_advanced.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_row_props.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_row_props.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/undo.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/undo.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifyleft.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifyleft.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/underline.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/underline.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_delete_col.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_delete_col.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/media.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/media.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifyfull.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/justifyfull.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_merge_cells.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_merge_cells.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_col_after.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_col_after.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_split_cells.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_split_cells.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_col_before.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_col_before.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/bold.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/bold.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/charmap.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/charmap.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/numlist.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/numlist.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/bullist.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/bullist.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_cell_props.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/table_cell_props.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/search.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/search.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/blockquote.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/blockquote.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/cleanup.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/grappelli/img/buttons/cleanup.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/ui.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/content.css
grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/themes/advanced/skins/highcontrast/dialog.css
grappelli/tinymce/jscripts/tiny_mce/langs/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/langs/en.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/table/table.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/table.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/table/row.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/row.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/cell.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/cell.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/row.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/row.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/table.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/js/table.js
grappelli/tinymce/jscripts/tiny_mce/plugins/table/css/row.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/css/row.css
grappelli/tinymce/jscripts/tiny_mce/plugins/table/css/table.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/css/table.css
grappelli/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css
grappelli/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/style/readme.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/readme.txt
grappelli/tinymce/jscripts/tiny_mce/plugins/style/props.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/props.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/style/js/props.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/js/props.js
grappelli/tinymce/jscripts/tiny_mce/plugins/style/css/props.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/css/props.css
grappelli/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js
grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css
grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/moxieplayer.swf /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/moxieplayer.swf
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/media.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/media.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/js/media.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/js/media.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/js/embed.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/js/embed.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/css/media.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/css/media.css
grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media_orig/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/preview/example.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/preview/example.html
grappelli/tinymce/jscripts/tiny_mce/plugins/preview/preview.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/preview/preview.html
grappelli/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js
grappelli/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/blank.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/blank.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/template.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/template.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/js/template.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/js/template.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/css/template.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/css/template.css
grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template_orig/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/img/visualchars.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/img/visualchars.png
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/img/show_advanced.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/img/show_advanced.png
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/fr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/fr.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/cs.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/cs.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/pl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/pl.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/en.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/de.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/de.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/ru.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli/langs/ru.js
grappelli/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlist/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/image.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/image.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/js/image.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/js/image.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/img/sample.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/img/sample.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/css/advimage.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/css/advimage.css
grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advimage_orig/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/visualblocks/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/visualblocks/css/visualblocks.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/visualblocks/css/visualblocks.css
grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css
grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example_dependency/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/lists/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/pastetext.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/pastetext.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/pasteword.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/pasteword.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/js/pasteword.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/js/pasteword.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/js/pastetext.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/js/pastetext.js
grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/paste_orig/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template/blank.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/blank.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/template/template.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/template.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template/js/template.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/js/template.js
grappelli/tinymce/jscripts/tiny_mce/plugins/template/css/template.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/css/template.css
grappelli/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/searchreplace.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/searchreplace.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/js/searchreplace.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/js/searchreplace.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/css/searchreplace.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/css/searchreplace.css
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace_orig/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css
grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/fr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/fr.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/cs.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/cs.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/pl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/pl.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/en.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/de.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/de.js
grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/ru.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/grappelli_contextmenu/langs/ru.js
grappelli/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/legacyoutput/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/autolink/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/wordcount/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/link.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/link.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/js/advlink.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/js/advlink.js
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/css/advlink.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/css/advlink.css
grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/advlink_orig/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif
grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css
grappelli/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css
grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media/moxieplayer.swf /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/moxieplayer.swf
grappelli/tinymce/jscripts/tiny_mce/plugins/media/media.htm /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/media.htm
grappelli/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media/js/media.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/js/media.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js
grappelli/tinymce/jscripts/tiny_mce/plugins/media/css/media.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/css/media.css
grappelli/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js
grappelli/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js
grappelli/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js
grappelli/jquery/jquery.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/jquery.min.js
grappelli/jquery/jquery.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/jquery.js
grappelli/jquery/LICENSE-JQUERY.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/LICENSE-JQUERY.txt
grappelli/jquery/.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/.DS_Store
grappelli/jquery/jquery-migrate-3.0.1.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/jquery-migrate-3.0.1.min.js
grappelli/jquery/LICENSE.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/LICENSE.txt
grappelli/jquery/jquery-migrate-3.0.1.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/jquery-migrate-3.0.1.js
grappelli/jquery/ui/jquery-ui.structure.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.structure.css
grappelli/jquery/ui/jquery-ui.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.css
grappelli/jquery/ui/jquery-ui.structure.min.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.structure.min.css
grappelli/jquery/ui/jquery-ui.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.js
grappelli/jquery/ui/AUTHORS.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/AUTHORS.txt
grappelli/jquery/ui/.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/.DS_Store
grappelli/jquery/ui/jquery-ui.theme.min.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.theme.min.css
grappelli/jquery/ui/index.html /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/index.html
grappelli/jquery/ui/LICENSE.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/LICENSE.txt
grappelli/jquery/ui/jquery-ui.min.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.min.css
grappelli/jquery/ui/jquery-ui.theme.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.theme.css
grappelli/jquery/ui/jquery-ui.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/jquery-ui.min.js
grappelli/jquery/ui/images/ui-icons_cc0000_256x240.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/images/ui-icons_cc0000_256x240.png
grappelli/jquery/ui/images/ui-icons_777620_256x240.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/images/ui-icons_777620_256x240.png
grappelli/jquery/ui/images/ui-icons_555555_256x240.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/images/ui-icons_555555_256x240.png
grappelli/jquery/ui/images/ui-icons_777777_256x240.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/images/ui-icons_777777_256x240.png
grappelli/jquery/ui/images/ui-icons_444444_256x240.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/images/ui-icons_444444_256x240.png
grappelli/jquery/ui/images/ui-icons_ffffff_256x240.png /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/images/ui-icons_ffffff_256x240.png
grappelli/jquery/ui/external/jquery/jquery.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/grappelli/jquery/ui/external/jquery/jquery.js
admin/js/actions.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/admin/js/actions.js
admin/js/admin/.DS_Store /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/admin/js/admin/.DS_Store
admin/js/admin/DateTimeShortcuts.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/grappelli/static/admin/js/admin/RelatedObjectLookups.js
admin/js/nav_sidebar.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/nav_sidebar.js
admin/js/autocomplete.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/autocomplete.js
admin/js/jquery.init.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/jquery.init.js
admin/js/urlify.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/urlify.js
admin/js/unusable_password_field.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/unusable_password_field.js
admin/js/calendar.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/calendar.js
admin/js/actions.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/actions.js
admin/js/core.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/core.js
admin/js/SelectFilter2.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectFilter2.js
admin/js/prepopulate_init.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate_init.js
admin/js/change_form.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/change_form.js
admin/js/inlines.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/inlines.js
admin/js/cancel.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/cancel.js
admin/js/prepopulate.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/prepopulate.js
admin/js/theme.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/theme.js
admin/js/popup_response.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/popup_response.js
admin/js/SelectBox.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/SelectBox.js
admin/js/filters.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/filters.js
admin/js/vendor/xregexp/LICENSE.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/LICENSE.txt
admin/js/vendor/xregexp/xregexp.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.js
admin/js/vendor/xregexp/xregexp.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/xregexp/xregexp.min.js
admin/js/vendor/select2/LICENSE.md /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/LICENSE.md
admin/js/vendor/select2/select2.full.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.js
admin/js/vendor/select2/select2.full.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/select2.full.min.js
admin/js/vendor/select2/i18n/bs.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bs.js
admin/js/vendor/select2/i18n/ja.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ja.js
admin/js/vendor/select2/i18n/sr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr.js
admin/js/vendor/select2/i18n/he.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/he.js
admin/js/vendor/select2/i18n/ca.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ca.js
admin/js/vendor/select2/i18n/bn.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bn.js
admin/js/vendor/select2/i18n/sk.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sk.js
admin/js/vendor/select2/i18n/hr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hr.js
admin/js/vendor/select2/i18n/ar.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ar.js
admin/js/vendor/select2/i18n/hy.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hy.js
admin/js/vendor/select2/i18n/th.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/th.js
admin/js/vendor/select2/i18n/vi.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/vi.js
admin/js/vendor/select2/i18n/mk.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/mk.js
admin/js/vendor/select2/i18n/hi.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hi.js
admin/js/vendor/select2/i18n/lt.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lt.js
admin/js/vendor/select2/i18n/tk.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tk.js
admin/js/vendor/select2/i18n/fr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fr.js
admin/js/vendor/select2/i18n/fi.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fi.js
admin/js/vendor/select2/i18n/zh-CN.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-CN.js
admin/js/vendor/select2/i18n/sr-Cyrl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sr-Cyrl.js
admin/js/vendor/select2/i18n/pt-BR.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt-BR.js
admin/js/vendor/select2/i18n/ne.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ne.js
admin/js/vendor/select2/i18n/ko.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ko.js
admin/js/vendor/select2/i18n/et.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/et.js
admin/js/vendor/select2/i18n/pt.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pt.js
admin/js/vendor/select2/i18n/da.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/da.js
admin/js/vendor/select2/i18n/bg.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/bg.js
admin/js/vendor/select2/i18n/es.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/es.js
admin/js/vendor/select2/i18n/is.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/is.js
admin/js/vendor/select2/i18n/hu.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hu.js
admin/js/vendor/select2/i18n/af.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/af.js
admin/js/vendor/select2/i18n/cs.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/cs.js
admin/js/vendor/select2/i18n/nl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nl.js
admin/js/vendor/select2/i18n/sv.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sv.js
admin/js/vendor/select2/i18n/el.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/el.js
admin/js/vendor/select2/i18n/fa.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/fa.js
admin/js/vendor/select2/i18n/it.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/it.js
admin/js/vendor/select2/i18n/dsb.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/dsb.js
admin/js/vendor/select2/i18n/zh-TW.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/zh-TW.js
admin/js/vendor/select2/i18n/ro.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ro.js
admin/js/vendor/select2/i18n/km.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/km.js
admin/js/vendor/select2/i18n/pl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/pl.js
admin/js/vendor/select2/i18n/ms.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ms.js
admin/js/vendor/select2/i18n/ps.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ps.js
admin/js/vendor/select2/i18n/tr.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/tr.js
admin/js/vendor/select2/i18n/en.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/en.js
admin/js/vendor/select2/i18n/nb.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/nb.js
admin/js/vendor/select2/i18n/gl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/gl.js
admin/js/vendor/select2/i18n/de.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/de.js
admin/js/vendor/select2/i18n/eu.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/eu.js
admin/js/vendor/select2/i18n/id.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/id.js
admin/js/vendor/select2/i18n/ru.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ru.js
admin/js/vendor/select2/i18n/hsb.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/hsb.js
admin/js/vendor/select2/i18n/az.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/az.js
admin/js/vendor/select2/i18n/lv.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/lv.js
admin/js/vendor/select2/i18n/ka.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/ka.js
admin/js/vendor/select2/i18n/sl.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sl.js
admin/js/vendor/select2/i18n/uk.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/uk.js
admin/js/vendor/select2/i18n/sq.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/select2/i18n/sq.js
admin/js/vendor/jquery/jquery.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.min.js
admin/js/vendor/jquery/jquery.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/jquery.js
admin/js/vendor/jquery/LICENSE.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/vendor/jquery/LICENSE.txt
admin/js/admin/DateTimeShortcuts.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/DateTimeShortcuts.js
admin/js/admin/RelatedObjectLookups.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js
admin/img/search.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/search.svg
admin/img/icon-unknown.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown.svg
admin/img/tooltag-arrowright.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-arrowright.svg
admin/img/icon-deletelink.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-deletelink.svg
admin/img/icon-viewlink.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-viewlink.svg
admin/img/icon-alert.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-alert.svg
admin/img/inline-delete.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/inline-delete.svg
admin/img/icon-addlink.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-addlink.svg
admin/img/selector-icons.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/selector-icons.svg
admin/img/tooltag-add.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/tooltag-add.svg
admin/img/icon-calendar.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-calendar.svg
admin/img/icon-unknown-alt.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-unknown-alt.svg
admin/img/icon-clock.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-clock.svg
admin/img/icon-no.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-no.svg
admin/img/LICENSE /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/LICENSE
admin/img/icon-hidelink.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-hidelink.svg
admin/img/README.txt /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/README.txt
admin/img/sorting-icons.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/sorting-icons.svg
admin/img/icon-changelink.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-changelink.svg
admin/img/calendar-icons.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/calendar-icons.svg
admin/img/icon-yes.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/icon-yes.svg
admin/img/gis/move_vertex_off.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_off.svg
admin/img/gis/move_vertex_on.svg /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/img/gis/move_vertex_on.svg
admin/css/unusable_password_field.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/unusable_password_field.css
admin/css/base.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/base.css
admin/css/dark_mode.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dark_mode.css
admin/css/login.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/login.css
admin/css/responsive_rtl.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive_rtl.css
admin/css/responsive.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/responsive.css
admin/css/rtl.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/rtl.css
admin/css/widgets.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/widgets.css
admin/css/autocomplete.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/autocomplete.css
admin/css/dashboard.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/dashboard.css
admin/css/nav_sidebar.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/nav_sidebar.css
admin/css/changelists.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/changelists.css
admin/css/forms.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/forms.css
admin/css/vendor/select2/LICENSE-SELECT2.md /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/LICENSE-SELECT2.md
admin/css/vendor/select2/select2.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.css
admin/css/vendor/select2/select2.min.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django/contrib/admin/static/admin/css/vendor/select2/select2.min.css
django_htmx/htmx.min.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/static/django_htmx/htmx.min.js
django_htmx/htmx.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/static/django_htmx/htmx.js
django_htmx/django-htmx.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_htmx/static/django_htmx/django-htmx.js
js/htmx.min.js /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/js/htmx.min.js
js/tradingview/charting_library/charting_library.standalone.js /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/js/tradingview/charting_library/charting_library.standalone.js
img/how-it-works.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/how-it-works.png
img/penny_loupe_logo_bw.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/penny_loupe_logo_bw.png
img/volatility.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/volatility.png
img/penny_loupe_bg.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/penny_loupe_bg.png
img/penny_loupe_logo.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/penny_loupe_logo.png
img/news_sites.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/news_sites.png
img/pennyloupe_icon.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/pennyloupe_icon.png
img/penny_loupe_logo_inv.png /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/img/penny_loupe_logo_inv.png
css/pennyloupe.css /mnt/disks/pennyloupe_disk/pennyloupe/app/core/static/css/pennyloupe.css
django_extensions/js/jquery.ajaxQueue.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.ajaxQueue.js
django_extensions/js/jquery.bgiframe.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.bgiframe.js
django_extensions/js/jquery.autocomplete.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/js/jquery.autocomplete.js
django_extensions/img/indicator.gif /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/img/indicator.gif
django_extensions/css/jquery.autocomplete.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/django_extensions/static/django_extensions/css/jquery.autocomplete.css
debug_toolbar/js/utils.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/utils.js
debug_toolbar/js/history.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/history.js
debug_toolbar/js/toolbar.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/toolbar.js
debug_toolbar/js/timer.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/timer.js
debug_toolbar/js/redirect.js /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/js/redirect.js
debug_toolbar/css/toolbar.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/toolbar.css
debug_toolbar/css/print.css /mnt/disks/pennyloupe_disk/pennyloupe/.venv/lib/python3.11/site-packages/debug_toolbar/static/debug_toolbar/css/print.css

Templates (157 rendered)

Template path

  1. templates

Templates

model_tests.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/model_tests.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}}
base.html
/mnt/disks/pennyloupe_disk/pennyloupe/templates/base.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}}
components/leftnav.html
/mnt/disks/pennyloupe_disk/pennyloupe/templates/components/leftnav.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: leftnav. Contents: [<TextNode: '\n <div'>, <IncludeNode: template=<FilterExpression '"components/leftnav.html"'>>, <TextNode: '\n </di'>]>}
components/header.html
/mnt/disks/pennyloupe_disk/pennyloupe/templates/components/header.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: header. Contents: [<TextNode: '\n\n '>, <IncludeNode: template=<FilterExpression '"components/header.html"'>>, <TextNode: '\n\n '>]>}
components/kpis.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/components/kpis.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'kpi': ''}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31, 'volume': 2338}, '2025-07-11': {'performance': -0.5106265525807209, 'price_close': 72.09, 'price_high': 72.56, 'price_low': 72.07, 'price_open': 72.46, 'volume': 8826}, '2025-07-14': {'performance': 0.971729490022173, 'price_close': 72.8612, 'price_high': 72.8612, 'price_low': 72.16, 'price_open': 72.16, 'volume': 3852}, '2025-07-15': {'performance': -1.418958131822575, 'price_close': 71.3431, 'price_high': 72.37, 'price_low': 71.3431, 'price_open': 72.37, 'volume': 1000}, '2025-07-16': {'performance': 0.5497549898744065, 'price_close': 72.044, 'price_high': 72.044, 'price_low': 70.9852, 'price_open': 71.6501, 'volume': 9032}, '2025-07-17': {'performance': 0.034031413612559555, 'price_close': 72.6047, 'price_high': 72.6586, 'price_low': 72.25, 'price_open': 72.58, 'volume': 1818}, '2025-07-18': {'performance': -0.449293261973393, 'price_close': 72.5426, 'price_high': 73.23, 'price_low': 72.43, 'price_open': 72.87, 'volume': 3105}}, 'IWN': {'2025-05-20': {'performance': 0.21455041934853655, 'price_close': 154.14, 'price_high': 154.71, 'price_low': 153.57, 'price_open': 153.81, 'volume': 1048932.0}, '2025-05-21': {'performance': -1.8304684424616142, 'price_close': 149.63, 'price_high': 152.77, 'price_low': 149.4335, 'price_open': 152.42, 'volume': 779598}, '2025-05-22': {'performance': 0.302175664786474, 'price_close': 149.37, 'price_high': 150.26, 'price_low': 148.5, 'price_open': 148.92, 'volume': 1046722.0}, '2025-05-23': {'performance': 1.3613777142468177, 'price_close': 148.91, 'price_high': 149.36, 'price_low': 146.9, 'price_open': 146.91, 'volume': 1236874.0}, '2025-05-27': {'performance': 1.145847132070485, 'price_close': 152.71, 'price_high': 152.74, 'price_low': 149.91, 'price_open': 150.98, 'volume': 1170419.0}, '2025-05-28': {'performance': -1.055599265670085, 'price_close': 150.91, 'price_high': 152.86, 'price_low': 150.76, 'price_open': 152.52, 'volume': 804023}, '2025-05-29': {'performance': 0.0, 'price_close': 151.75, 'price_high': 151.94, 'price_low': 150.4, 'price_open': 151.75, 'volume': 846652}, '2025-05-30': {'performance': -0.07949652202714551, 'price_close': 150.83, 'price_high': 151.66, 'price_low': 149.98, 'price_open': 150.95, 'volume': 840778}, '2025-06-02': {'performance': -0.2713075701429305, 'price_close': 150.71, 'price_high': 151.12, 'price_low': 149, 'price_open': 151.12, 'volume': 1510097.0}, '2025-06-03': {'performance': 1.452062060734649, 'price_close': 153.01, 'price_high': 153.45, 'price_low': 150.23, 'price_open': 150.82, 'volume': 1067852.0}, '2025-06-04': {'performance': -0.6003262642740539, 'price_close': 152.33, 'price_high': 153.515, 'price_low': 152.12, 'price_open': 153.25, 'volume': 649128}, '2025-06-05': {'performance': -0.10500065625409936, 'price_close': 152.22, 'price_high': 153.03, 'price_low': 151.185, 'price_open': 152.38, 'volume': 719837}, '2025-06-06': {'performance': 0.37662337662338474, 'price_close': 154.58, 'price_high': 154.915, 'price_low': 153.765, 'price_open': 154, 'volume': 786190}, '2025-06-09': {'performance': 0.12846040208105122, 'price_close': 155.89, 'price_high': 156.72, 'price_low': 155.1601, 'price_open': 155.69, 'volume': 1226189.0}, '2025-06-10': {'performance': 0.4212945231711966, 'price_close': 157.32, 'price_high': 157.86, 'price_low': 156.31, 'price_open': 156.66, 'volume': 1548307.0}, '2025-06-11': {'performance': -0.829428897049514, 'price_close': 156.63, 'price_high': 158.2492, 'price_low': 156.26, 'price_open': 157.94, 'volume': 1333945.0}, '2025-06-12': {'performance': 0.4114168166623723, 'price_close': 156.2, 'price_high': 156.37, 'price_low': 155.03, 'price_open': 155.56, 'volume': 2038496.0}, '2025-06-13': {'performance': -0.5636905533238334, 'price_close': 153.47, 'price_high': 155.11, 'price_low': 152.895, 'price_open': 154.34, 'volume': 1889144.0}, '2025-06-16': {'performance': -0.006484663770196049, 'price_close': 154.2, 'price_high': 155.25, 'price_low': 153.59, 'price_open': 154.21, 'volume': 1459093.0}, '2025-06-17': {'performance': -0.46287241671554835, 'price_close': 152.68, 'price_high': 154.06, 'price_low': 152.52, 'price_open': 153.39, 'volume': 1067698.0}, '2025-06-18': {'performance': 0.5831476870659065, 'price_close': 153.51, 'price_high': 154.86, 'price_low': 152.2, 'price_open': 152.62, 'volume': 476550}, '2025-06-20': {'performance': -0.91843994566976, 'price_close': 153.19, 'price_high': 154.61, 'price_low': 152.78, 'price_open': 154.61, 'volume': 737866}, '2025-06-23': {'performance': 1.4952660790075039, 'price_close': 155.44, 'price_high': 155.46, 'price_low': 152.07, 'price_open': 153.15, 'volume': 1084865.0}, '2025-06-24': {'performance': 0.255787185062032, 'price_close': 156.78, 'price_high': 157.56, 'price_low': 155.88, 'price_open': 156.38, 'volume': 552496}, '2025-06-25': {'performance': -1.0524301569077723, 'price_close': 155.13, 'price_high': 156.78, 'price_low': 155.06, 'price_open': 156.78, 'volume': 939545}, '2025-06-26': {'performance': 1.36316872427982, 'price_close': 157.64, 'price_high': 157.67, 'price_low': 155.52, 'price_open': 155.52, 'volume': 434370}, '2025-06-27': {'performance': -0.10769035854555677, 'price_close': 157.69, 'price_high': 158.9182, 'price_low': 156.765, 'price_open': 157.86, 'volume': 678101}, '2025-06-30': {'performance': -0.27812895069532095, 'price_close': 157.76, 'price_high': 158.385, 'price_low': 157.34, 'price_open': 158.2, 'volume': 647426}, '2025-07-01': {'performance': 2.612296909843914, 'price_close': 161.05, 'price_high': 163.38, 'price_low': 156.84, 'price_open': 156.95, 'volume': 1125486.0}, '2025-07-02': {'performance': 1.367997523986369, 'price_close': 163.76, 'price_high': 163.89, 'price_low': 160.81, 'price_open': 161.55, 'volume': 1068294.0}, '2025-07-03': {'performance': 0.20046166929898196, 'price_close': 164.95, 'price_high': 165.4, 'price_low': 164.17, 'price_open': 164.62, 'volume': 659893}, '2025-07-07': {'performance': -0.8304329242230039, 'price_close': 162.41, 'price_high': 165.04, 'price_low': 161.44, 'price_open': 163.77, 'volume': 1257533.0}, '2025-07-08': {'performance': 0.7066052227342584, 'price_close': 163.9, 'price_high': 164.77, 'price_low': 162.67, 'price_open': 162.75, 'volume': 824732}, '2025-07-09': {'performance': 0.3097479501973829, 'price_close': 165.16, 'price_high': 165.34, 'price_low': 163.53, 'price_open': 164.65, 'volume': 626881}, '2025-07-10': {'performance': 1.0671840892554083, 'price_close': 166.68, 'price_high': 167.593, 'price_low': 164.67, 'price_open': 164.92, 'volume': 3297866.0}, '2025-07-11': {'performance': -0.4766214177978836, 'price_close': 164.96, 'price_high': 165.75, 'price_low': 164.57, 'price_open': 165.75, 'volume': 702276}, '2025-07-14': {'performance': 0.5898090721147992, 'price_close': 165.43, 'price_high': 165.47, 'price_low': 164.07, 'price_open': 164.46, 'volume': 431783}, '2025-07-15': {'performance': -2.529124162491699, 'price_close': 161.48, 'price_high': 165.91, 'price_low': 161.39, 'price_open': 165.67, 'volume': 736125}, '2025-07-16': {'performance': 0.14172160946455, 'price_close': 162.52, 'price_high': 162.825, 'price_low': 159.82, 'price_open': 162.29, 'volume': 728015}, '2025-07-17': {'performance': 1.1821932147035379, 'price_close': 164.33, 'price_high': 164.73, 'price_low': 162.3, 'price_open': 162.41, 'volume': 1590347.0}, '2025-07-18': {'performance': -1.125907990314761, 'price_close': 163.34, 'price_high': 165.46, 'price_low': 162.95, 'price_open': 165.2, 'volume': 1278792.0}}}} {'block': <Block Node: content. Contents: [<TextNode: '\n\n <div class="pl-cont'>, <IfNode>, <TextNode: '\n '>, <ForNode: for m in models, tail_len: 9>, <TextNode: '\n '>, <Variable Node: keyword>, <TextNode: '" placeholder="Keyword...'>, <Variable Node: percentiles>, <TextNode: '" placeholder="ie 90-100"'>, <Variable Node: compare_tickers>, <TextNode: '" class="uk-input uk-form'>, <Variable Node: date_from>, <TextNode: '" uk-datepicker="format:\''>, <Variable Node: date_to>, <TextNode: '" uk-datepicker="format:'>, <Variable Node: curve_data_week_list|length>, <TextNode: '" value="0" step="1"\n '>, <IncludeNode: template=<FilterExpression '"components/kpis.html"'>>, <TextNode: '\n <!-- /KPIs-->\n\n '>, <IfNode>, <TextNode: '\n\n </div>\n\n'>]>} {'forloop': {'counter': 150, 'counter0': 149, 'first': False, 'last': True, 'parentloop': {}, 'revcounter': 1, 'revcounter0': 0}, 'p': {'avg_performance': 2.6860793771380846, 'date': datetime.date(2025, 5, 20), 'fail_count': 55, 'hit_count': 79, 'hit_rate': 64.22764227642277, 'm_id': 135, 'm_name': 'Rolling LGBM 3d PH 3%', 'm_version': '3', 'metrics': {'content': 0, 'financial': 0, 'other': 0}, 'pass_count': 68, 'total_count': 123, 'win_rate': 55.28455284552845, 'x_fdm_performance_0': -0.26692514166418435, 'x_fdm_performance_1': -1.5922286400120063, 'x_fdm_performance_2': 0.17357367552580882, 'x_iwn_performance_0': 0.21455041934853655, 'x_iwn_performance_1': -1.8304684424616142, 'x_iwn_performance_2': 0.302175664786474}} {'metrics': {'content': 0, 'financial': 0, 'other': 0}}
snippets/metrics.html
/mnt/disks/pennyloupe_disk/pennyloupe/app/core/templates/snippets/metrics.html
Toggle context {'False': False, 'None': None, 'True': True} {'DEFAULT_MESSAGE_LEVELS': {'DEBUG': 10, 'ERROR': 40, 'INFO': 20, 'SUCCESS': 25, 'WARNING': 30}, 'csrf_token': '<SimpleLazyObject: <function csrf.<locals>._get_val at ' '0x7f25fd6e5ee0>>', 'messages': <FallbackStorage: request=<WSGIRequest: GET '/model/tests'>>, 'perms': PermWrapper(<SimpleLazyObject: <function AuthenticationMiddleware.process_request.<locals>.<lambda> at 0x7f25fd60b740>>), 'request': '<<request>>', 'user': '<SimpleLazyObject: <function ' 'AuthenticationMiddleware.process_request.<locals>.<lambda> at ' '0x7f25fd60b740>>'} {'compare_tickers': 'FDM,IWN', 'compare_tickers_list': ['FDM', 'IWN'], 'curve_data': [{'avg_performance': 1.236829001445455, 'bin': 0.1, 'hit_rate': 58.9041095890411, 'total_count': 146, 'win_rate': 39.04109589041096}, {'avg_performance': 10.574275750971342, 'bin': 0.2, 'hit_rate': 58.798882681564244, 'total_count': 716, 'win_rate': 40.642458100558656}, {'avg_performance': 9.713325944856932, 'bin': 0.3, 'hit_rate': 56.28476084538376, 'total_count': 1798, 'win_rate': 42.1579532814238}, {'avg_performance': 8.495575766349665, 'bin': 0.4, 'hit_rate': 56.77380594773205, 'total_count': 3329, 'win_rate': 43.79693601682187}, {'avg_performance': 7.171171618582607, 'bin': 0.5, 'hit_rate': 56.38148667601683, 'total_count': 4991, 'win_rate': 44.23963133640553}, {'avg_performance': 10.306683469259623, 'bin': 0.6, 'hit_rate': 57.98637395912188, 'total_count': 5284, 'win_rate': 46.47993943981832}, {'avg_performance': 9.61424396554929, 'bin': 0.7, 'hit_rate': 62.53761283851555, 'total_count': 3988, 'win_rate': 51.42928786359077}, {'avg_performance': 10.321203882171869, 'bin': 0.8, 'hit_rate': 66.72287802136032, 'total_count': 1779, 'win_rate': 58.85328836424958}, {'avg_performance': 26.302599032034625, 'bin': 0.9, 'hit_rate': 66.66666666666667, 'total_count': 408, 'win_rate': 59.068627450980394}, {'avg_performance': 0.4538669593182398, 'bin': 1.0, 'hit_rate': 50.847457627118644, 'total_count': 59, 'win_rate': 38.983050847457626}], 'curve_data_by_week': {'2025-05-19': [{'avg_performance': -0.40345766948122075, 'bin': 0.1, 'hit_rate': 50.0, 'total_count': 14, 'week': '2025-05-19', 'win_rate': 28.571428571428573}, {'avg_performance': -0.5146197871777053, 'bin': 0.2, 'hit_rate': 54.3859649122807, 'total_count': 114, 'week': '2025-05-19', 'win_rate': 36.8421052631579}, {'avg_performance': 1.249418084905544, 'bin': 0.3, 'hit_rate': 54.75409836065574, 'total_count': 305, 'week': '2025-05-19', 'win_rate': 42.295081967213115}, {'avg_performance': 1.9992718086576322, 'bin': 0.4, 'hit_rate': 60.16597510373444, 'total_count': 482, 'week': '2025-05-19', 'win_rate': 45.43568464730291}, {'avg_performance': 1.7683148814921879, 'bin': 0.5, 'hit_rate': 59.41807044410413, 'total_count': 653, 'week': '2025-05-19', 'win_rate': 46.40122511485452}, {'avg_performance': 1.959852965896651, 'bin': 0.6, 'hit_rate': 60.17964071856287, 'total_count': 668, 'week': '2025-05-19', 'win_rate': 47.0059880239521}, {'avg_performance': 3.8853248977803108, 'bin': 0.7, 'hit_rate': 68.37121212121212, 'total_count': 528, 'week': '2025-05-19', 'win_rate': 56.81818181818182}, {'avg_performance': 3.6341450999241305, 'bin': 0.8, 'hit_rate': 71.76079734219269, 'total_count': 301, 'week': '2025-05-19', 'win_rate': 62.12624584717608}, {'avg_performance': 5.341667729528024, 'bin': 0.9, 'hit_rate': 70.52631578947368, 'total_count': 95, 'week': '2025-05-19', 'win_rate': 61.05263157894737}, {'avg_performance': 4.911269116798824, 'bin': 1.0, 'hit_rate': 84.61538461538461, 'total_count': 13, 'week': '2025-05-19', 'win_rate': 61.53846153846154}], '2025-05-26': [{'avg_performance': 1.4608814850120575, 'bin': 0.1, 'hit_rate': 61.111111111111114, 'total_count': 18, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 0.10355142198715053, 'bin': 0.2, 'hit_rate': 56.89655172413793, 'total_count': 116, 'week': '2025-05-26', 'win_rate': 37.93103448275862}, {'avg_performance': 0.9647121637235371, 'bin': 0.3, 'hit_rate': 52.059925093632955, 'total_count': 267, 'week': '2025-05-26', 'win_rate': 37.07865168539326}, {'avg_performance': 4.769174051913133, 'bin': 0.4, 'hit_rate': 54.603854389721626, 'total_count': 467, 'week': '2025-05-26', 'win_rate': 41.32762312633833}, {'avg_performance': 8.663503402450184, 'bin': 0.5, 'hit_rate': 54.93827160493827, 'total_count': 648, 'week': '2025-05-26', 'win_rate': 40.123456790123456}, {'avg_performance': 2.927814019974138, 'bin': 0.6, 'hit_rate': 56.2585969738652, 'total_count': 727, 'week': '2025-05-26', 'win_rate': 44.016506189821186}, {'avg_performance': 1.9912004956220442, 'bin': 0.7, 'hit_rate': 56.91489361702128, 'total_count': 564, 'week': '2025-05-26', 'win_rate': 44.858156028368796}, {'avg_performance': 8.676767767195733, 'bin': 0.8, 'hit_rate': 64.03508771929825, 'total_count': 228, 'week': '2025-05-26', 'win_rate': 53.94736842105263}, {'avg_performance': 1.275800412795153, 'bin': 0.9, 'hit_rate': 50.0, 'total_count': 36, 'week': '2025-05-26', 'win_rate': 38.888888888888886}, {'avg_performance': 1.6213490776523034, 'bin': 1.0, 'hit_rate': 50.0, 'total_count': 6, 'week': '2025-05-26', 'win_rate': 16.666666666666668}], '2025-06-02': [{'avg_performance': 2.7346993249471714, 'bin': 0.1, 'hit_rate': 66.66666666666667, 'total_count': 15, 'week': '2025-06-02', 'win_rate': 33.333333333333336}, {'avg_performance': 2.3765366890333453, 'bin': 0.2, 'hit_rate': 63.1578947368421, 'total_count': 152, 'week': '2025-06-02', 'win_rate': 46.05263157894737}, {'avg_performance': 1.828257137733794, 'bin': 0.3, 'hit_rate': 63.888888888888886, 'total_count': 360, 'week': '2025-06-02', 'win_rate': 46.666666666666664}, {'avg_performance': 2.5045097094583086, 'bin': 0.4, 'hit_rate': 67.28110599078342, 'total_count': 651, 'week': '2025-06-02', 'win_rate': 52.68817204301075}, {'avg_performance': 2.3708138002522037, 'bin': 0.5, 'hit_rate': 66.12127045235803, 'total_count': 1039, 'week': '2025-06-02', 'win_rate': 54.66794995187681}, {'avg_performance': 3.007684217856742, 'bin': 0.6, 'hit_rate': 68.67469879518072, 'total_count': 1079, 'week': '2025-06-02', 'win_rate': 55.51436515291937}, {'avg_performance': 5.051309915873506, 'bin': 0.7, 'hit_rate': 72.67303102625299, 'total_count': 838, 'week': '2025-06-02', 'win_rate': 63.36515513126491}, {'avg_performance': 4.93216154927106, 'bin': 0.8, 'hit_rate': 75.56818181818181, 'total_count': 352, 'week': '2025-06-02', 'win_rate': 69.31818181818181}, {'avg_performance': 4.9690262449437546, 'bin': 0.9, 'hit_rate': 75.82417582417582, 'total_count': 91, 'week': '2025-06-02', 'win_rate': 72.52747252747253}, {'avg_performance': 2.438903821039636, 'bin': 1.0, 'hit_rate': 77.77777777777777, 'total_count': 9, 'week': '2025-06-02', 'win_rate': 77.77777777777777}], '2025-06-09': [{'avg_performance': 1.2431373824930068, 'bin': 0.1, 'hit_rate': 52.63157894736842, 'total_count': 38, 'week': '2025-06-09', 'win_rate': 42.10526315789474}, {'avg_performance': 2.5976406954746087, 'bin': 0.2, 'hit_rate': 57.57575757575758, 'total_count': 132, 'week': '2025-06-09', 'win_rate': 43.93939393939394}, {'avg_performance': 34.02878276320706, 'bin': 0.3, 'hit_rate': 55.30546623794212, 'total_count': 311, 'week': '2025-06-09', 'win_rate': 43.40836012861736}, {'avg_performance': 10.211960840908313, 'bin': 0.4, 'hit_rate': 47.0, 'total_count': 600, 'week': '2025-06-09', 'win_rate': 37.166666666666664}, {'avg_performance': 21.98612109237894, 'bin': 0.5, 'hit_rate': 48.729792147806, 'total_count': 866, 'week': '2025-06-09', 'win_rate': 38.22170900692841}, {'avg_performance': 24.29911313812537, 'bin': 0.6, 'hit_rate': 49.75514201762977, 'total_count': 1021, 'week': '2025-06-09', 'win_rate': 40.45053868756121}, {'avg_performance': 13.265777638112246, 'bin': 0.7, 'hit_rate': 56.82613768961494, 'total_count': 857, 'week': '2025-06-09', 'win_rate': 46.55775962660444}, {'avg_performance': 27.65323498854526, 'bin': 0.8, 'hit_rate': 59.67365967365967, 'total_count': 429, 'week': '2025-06-09', 'win_rate': 52.68065268065268}, {'avg_performance': 0.9108592461228331, 'bin': 0.9, 'hit_rate': 60.416666666666664, 'total_count': 96, 'week': '2025-06-09', 'win_rate': 54.166666666666664}, {'avg_performance': -1.9983247755156495, 'bin': 1.0, 'hit_rate': 32.0, 'total_count': 25, 'week': '2025-06-09', 'win_rate': 24.0}], '2025-06-16': [{'avg_performance': 5.337983372191703, 'bin': 0.1, 'hit_rate': 81.25, 'total_count': 16, 'week': '2025-06-16', 'win_rate': 50.0}, {'avg_performance': 49.39903270486614, 'bin': 0.2, 'hit_rate': 50.943396226415096, 'total_count': 53, 'week': '2025-06-16', 'win_rate': 24.528301886792452}, {'avg_performance': 0.16078924396539945, 'bin': 0.3, 'hit_rate': 45.3551912568306, 'total_count': 183, 'week': '2025-06-16', 'win_rate': 28.961748633879782}, {'avg_performance': 25.177414179435463, 'bin': 0.4, 'hit_rate': 50.53191489361702, 'total_count': 376, 'week': '2025-06-16', 'win_rate': 36.96808510638298}, {'avg_performance': 2.869064678283484, 'bin': 0.5, 'hit_rate': 47.27272727272727, 'total_count': 715, 'week': '2025-06-16', 'win_rate': 36.78321678321678}, {'avg_performance': 26.557610961563455, 'bin': 0.6, 'hit_rate': 52.086553323029364, 'total_count': 647, 'week': '2025-06-16', 'win_rate': 41.267387944358575}, {'avg_performance': 33.5527806364284, 'bin': 0.7, 'hit_rate': 53.97849462365591, 'total_count': 465, 'week': '2025-06-16', 'win_rate': 43.01075268817204}, {'avg_performance': 2.762186340071393, 'bin': 0.8, 'hit_rate': 57.42574257425743, 'total_count': 202, 'week': '2025-06-16', 'win_rate': 50.99009900990099}, {'avg_performance': 202.58133036577996, 'bin': 0.9, 'hit_rate': 65.95744680851064, 'total_count': 47, 'week': '2025-06-16', 'win_rate': 55.319148936170215}, {'avg_performance': -3.8906627335937367, 'bin': 1.0, 'hit_rate': 25.0, 'total_count': 4, 'week': '2025-06-16', 'win_rate': 25.0}], '2025-06-23': [{'avg_performance': 0.19115376795591008, 'bin': 0.1, 'hit_rate': 54.54545454545455, 'total_count': 11, 'week': '2025-06-23', 'win_rate': 36.36363636363637}, {'avg_performance': 2.945794321726511, 'bin': 0.2, 'hit_rate': 57.35294117647059, 'total_count': 68, 'week': '2025-06-23', 'win_rate': 35.294117647058826}, {'avg_performance': 0.6162410978227431, 'bin': 0.3, 'hit_rate': 57.429718875502004, 'total_count': 249, 'week': '2025-06-23', 'win_rate': 44.57831325301205}, {'avg_performance': -0.029537619601454186, 'bin': 0.4, 'hit_rate': 54.86725663716814, 'total_count': 565, 'week': '2025-06-23', 'win_rate': 43.36283185840708}, {'avg_performance': 0.799951253058729, 'bin': 0.5, 'hit_rate': 59.287531806615775, 'total_count': 786, 'week': '2025-06-23', 'win_rate': 46.0559796437659}, {'avg_performance': 0.22723453415722591, 'bin': 0.6, 'hit_rate': 55.22959183673469, 'total_count': 784, 'week': '2025-06-23', 'win_rate': 44.515306122448976}, {'avg_performance': 1.3127605181358455, 'bin': 0.7, 'hit_rate': 60.370370370370374, 'total_count': 540, 'week': '2025-06-23', 'win_rate': 49.25925925925926}, {'avg_performance': 4.138931470557527, 'bin': 0.8, 'hit_rate': 70.77625570776256, 'total_count': 219, 'week': '2025-06-23', 'win_rate': 62.55707762557078}, {'avg_performance': 2.4594905632900446, 'bin': 0.9, 'hit_rate': 65.0, 'total_count': 40, 'week': '2025-06-23', 'win_rate': 57.5}, {'avg_performance': -1.612903225806453, 'bin': 1.0, 'hit_rate': 0.0, 'total_count': 2, 'week': '2025-06-23', 'win_rate': 0.0}], '2025-06-30': [{'avg_performance': -0.4658988517049299, 'bin': 0.1, 'hit_rate': 55.88235294117647, 'total_count': 34, 'week': '2025-06-30', 'win_rate': 38.23529411764706}, {'avg_performance': 50.55865719397786, 'bin': 0.2, 'hit_rate': 67.90123456790124, 'total_count': 81, 'week': '2025-06-30', 'win_rate': 49.382716049382715}, {'avg_performance': 43.91802366908394, 'bin': 0.3, 'hit_rate': 63.41463414634146, 'total_count': 123, 'week': '2025-06-30', 'win_rate': 51.21951219512195}, {'avg_performance': 41.93237835301243, 'bin': 0.4, 'hit_rate': 66.48936170212765, 'total_count': 188, 'week': '2025-06-30', 'win_rate': 51.06382978723404}, {'avg_performance': 17.039642223959692, 'bin': 0.5, 'hit_rate': 55.28169014084507, 'total_count': 284, 'week': '2025-06-30', 'win_rate': 42.605633802816904}, {'avg_performance': 15.662572418501377, 'bin': 0.6, 'hit_rate': 65.36312849162012, 'total_count': 358, 'week': '2025-06-30', 'win_rate': 54.18994413407821}, {'avg_performance': 16.604150448750495, 'bin': 0.7, 'hit_rate': 70.91836734693878, 'total_count': 196, 'week': '2025-06-30', 'win_rate': 52.04081632653061}, {'avg_performance': 4.697805671042752, 'bin': 0.8, 'hit_rate': 66.66666666666667, 'total_count': 48, 'week': '2025-06-30', 'win_rate': 56.25}, {'avg_performance': 6.249043421136, 'bin': 0.9, 'hit_rate': 100.0, 'total_count': 3, 'week': '2025-06-30', 'win_rate': 66.66666666666667}]}, 'curve_data_week_list': ['2025-05-19', '2025-05-26', '2025-06-02', '2025-06-09', '2025-06-16', '2025-06-23', '2025-06-30'], 'date_from': '2025-05-20', 'date_to': '2025-07-19', 'keyword': '', 'kpis': {'avg_gain': 9.387998419571305, 'fail_count': 11908, 'hit_count': 13270, 'hit_rate': 58.98302071295226, 'pass_count': 10590, 'total_tests': 22498, 'win_rate': 47.0708507422882}, 'model_id': None, 'models': '<<queryset of core.Model>>', 'percentiles': '', 'performance_data': '<<queryset of core.ModelTest>>', 'price_history': {'FDM': {'2025-05-20': {'performance': -0.26692514166418435, 'price_close': 66.881, 'price_high': 67.251, 'price_low': 66.881, 'price_open': 67.06, 'volume': 2628}, '2025-05-21': {'performance': -1.5922286400120063, 'price_close': 65.5937, 'price_high': 66.655, 'price_low': 65.5937, 'price_open': 66.655, 'volume': 2346}, '2025-05-22': {'performance': 0.17357367552580882, 'price_close': 65.5036, 'price_high': 65.895, 'price_low': 65.34, 'price_open': 65.3901, 'volume': 5825}, '2025-05-23': {'performance': 0.6701765309393016, 'price_close': 65.6437, 'price_high': 65.9235, 'price_low': 65.2067, 'price_open': 65.2067, 'volume': 1506}, '2025-05-27': {'performance': 1.6508103241296483, 'price_close': 67.7401, 'price_high': 67.7401, 'price_low': 66.55, 'price_open': 66.64, 'volume': 7282}, '2025-05-28': {'performance': -0.6912712187212269, 'price_close': 67.0035, 'price_high': 67.4699, 'price_low': 67.0035, 'price_open': 67.4699, 'volume': 3373}, '2025-05-29': {'performance': -0.45318518518517636, 'price_close': 67.1941, 'price_high': 67.5, 'price_low': 66.89, 'price_open': 67.5, 'volume': 2998}, '2025-05-30': {'performance': -0.713012477718345, 'price_close': 66.84, 'price_high': 67.32, 'price_low': 66.84, 'price_open': 67.32, 'volume': 4228}, '2025-06-02': {'performance': -0.4147540983606369, 'price_close': 66.8217, 'price_high': 67.1, 'price_low': 66.8217, 'price_open': 67.1, 'volume': 4082}, '2025-06-03': {'performance': -0.13605642513215116, 'price_close': 67.8206, 'price_high': 68.0999, 'price_low': 67.72, 'price_open': 67.913, 'volume': 2174}, '2025-06-04': {'performance': -0.33724275282142085, 'price_close': 67.5564, 'price_high': 67.785, 'price_low': 67.4, 'price_open': 67.785, 'volume': 1354}, '2025-06-05': {'performance': -0.5821776335202079, 'price_close': 67.3854, 'price_high': 67.78, 'price_low': 67.3854, 'price_open': 67.78, 'volume': 20707}, '2025-06-06': {'performance': 1.11955882352942, 'price_close': 68.7613, 'price_high': 68.7613, 'price_low': 68, 'price_open': 68, 'volume': 9131}, '2025-06-09': {'performance': 0.22008670520230747, 'price_close': 69.3523, 'price_high': 69.4999, 'price_low': 69.2, 'price_open': 69.2, 'volume': 1511}, '2025-06-10': {'performance': -0.47630707187095966, 'price_close': 69.0993, 'price_high': 69.43, 'price_low': 68.95, 'price_open': 69.43, 'volume': 2792}, '2025-06-11': {'performance': -0.08624407072012084, 'price_close': 69.51, 'price_high': 69.96, 'price_low': 69.43, 'price_open': 69.57, 'volume': 3511}, '2025-06-12': {'performance': 0.21106321839080783, 'price_close': 69.7469, 'price_high': 69.7469, 'price_low': 69.42, 'price_open': 69.6, 'volume': 1093}, '2025-06-13': {'performance': -1.3586316256600668, 'price_close': 68.24, 'price_high': 69.1799, 'price_low': 68.24, 'price_open': 69.1799, 'volume': 4466}, '2025-06-16': {'performance': 0.3368193292462925, 'price_close': 69.5585, 'price_high': 69.88, 'price_low': 69.3001, 'price_open': 69.325, 'volume': 2844}, '2025-06-17': {'performance': -0.2629608294930785, 'price_close': 69.2574, 'price_high': 69.8999, 'price_low': 69.2574, 'price_open': 69.44, 'volume': 3002}, '2025-06-18': {'performance': 0.19777841892672215, 'price_close': 69.4571, 'price_high': 69.8899, 'price_low': 69.32, 'price_open': 69.32, 'volume': 4466}, '2025-06-20': {'performance': -0.4430800892771207, 'price_close': 69.2728, 'price_high': 69.5811, 'price_low': 69.25, 'price_open': 69.5811, 'volume': 3241}, '2025-06-23': {'performance': 1.1006479481641396, 'price_close': 70.2144, 'price_high': 70.2144, 'price_low': 68.9801, 'price_open': 69.45, 'volume': 5301}, '2025-06-24': {'performance': 0.8305012744265092, 'price_close': 71.2065, 'price_high': 71.279, 'price_low': 70.62, 'price_open': 70.62, 'volume': 16413}, '2025-06-25': {'performance': -2.069467787114859, 'price_close': 69.9224, 'price_high': 71.4, 'price_low': 69.9224, 'price_open': 71.4, 'volume': 4947}, '2025-06-26': {'performance': 1.8986632169038509, 'price_close': 70.8909, 'price_high': 70.9, 'price_low': 69.45, 'price_open': 69.57, 'volume': 4089}, '2025-06-27': {'performance': 0.7811130896859741, 'price_close': 71.3107, 'price_high': 71.49, 'price_low': 70.758, 'price_open': 70.758, 'volume': 4493}, '2025-06-30': {'performance': -0.12046848856664472, 'price_close': 71.6336, 'price_high': 71.86, 'price_low': 71.3801, 'price_open': 71.72, 'volume': 6304}, '2025-07-01': {'performance': 1.0628195251768442, 'price_close': 72.1538, 'price_high': 72.789, 'price_low': 71.395, 'price_open': 71.395, 'volume': 9329}, '2025-07-02': {'performance': 1.629286504424789, 'price_close': 73.4983, 'price_high': 73.5032, 'price_low': 72.21, 'price_open': 72.32, 'volume': 3301}, '2025-07-03': {'performance': 0.49830921141619644, 'price_close': 74.2984, 'price_high': 74.39, 'price_low': 73.93, 'price_open': 73.93, 'volume': 2209}, '2025-07-07': {'performance': -0.44594594594594367, 'price_close': 73.67, 'price_high': 74, 'price_low': 73.35, 'price_open': 74, 'volume': 6869}, '2025-07-08': {'performance': -0.6559271343121285, 'price_close': 73.0775, 'price_high': 73.7, 'price_low': 73.0775, 'price_open': 73.56, 'volume': 5028}, '2025-07-09': {'performance': -0.7979647218453151, 'price_close': 73.1119, 'price_high': 73.7, 'price_low': 72.64, 'price_open': 73.7, 'volume': 2501}, '2025-07-10': {'performance': -0.1669622152503055, 'price_close': 73.1876, 'price_high': 73.3691, 'price_low': 72.92, 'price_open': 73.31,