Project_Carmignac/Challenge_cleaning.ipynb
2026-03-12 21:28:58 +00:00

3899 lines
433 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": 2,
"id": "4287b380-5359-49c7-ab95-ad346a3ad17a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Fichiers Flows : ['projet-bdc-data/carmignac/Flows ENSAE V1 -20251027.csv', 'projet-bdc-data/carmignac/Flows ENSAE V2 -20251105.csv']\n",
"Fichiers AUM : ['projet-bdc-data/carmignac/AUM ENSAE V1 -20251027.csv', 'projet-bdc-data/carmignac/AUM ENSAE V2 -20251105.csv']\n"
]
}
],
"source": [
"# Import des données\n",
"\n",
"import os\n",
"import s3fs\n",
"import pandas as pd\n",
"\n",
"s3_ENDPOINT_URL = \"https://\" + os.environ[\"AWS_S3_ENDPOINT\"]\n",
"\n",
"fs = s3fs.S3FileSystem(client_kwargs={'endpoint_url': s3_ENDPOINT_URL})\n",
"\n",
"BUCKET = \"projet-bdc-data\"\n",
"carmignac_path = \"projet-bdc-data/carmignac\"\n",
"\n",
"# Liste des fichiers FLOWS\n",
"all_files = fs.ls(carmignac_path)\n",
"flows_files = [f for f in all_files if \"Flows\" in f and f.endswith(\".csv\")]\n",
"print(\"Fichiers Flows :\", flows_files)\n",
"\n",
"# Lire tous les fichiers dans un dictionnaire\n",
"flows_data = {}\n",
"for file_path in flows_files:\n",
" with fs.open(file_path, 'r') as f:\n",
" df = pd.read_csv(f, sep=';',low_memory=False)\n",
" flows_data[os.path.basename(file_path)] = df\n",
"\n",
"\n",
"# Liste des fichiers AUM\n",
"all_files = fs.ls(carmignac_path)\n",
"aum_files = [f for f in all_files if \"AUM\" in f and f.endswith(\".csv\")]\n",
"print(\"Fichiers AUM :\", aum_files)\n",
"\n",
"# Lire tous les fichiers dans un dictionnaire\n",
"aum_data = {}\n",
"for file_path in aum_files:\n",
" with fs.open(file_path, 'r') as f:\n",
" df = pd.read_csv(f, sep=';',low_memory=False)\n",
" aum_data[os.path.basename(file_path)] = df\n",
"\n",
"df = aum_data['AUM ENSAE V2 -20251105.csv']\n",
"dg = flows_data['Flows ENSAE V2 -20251105.csv']"
]
},
{
"cell_type": "code",
"execution_count": 142,
"id": "0b66aee0-b726-4a57-9461-6a4550a625a8",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Agreement - Code</th>\n",
" <th>Company - Id</th>\n",
" <th>Company - Ultimate Parent Id</th>\n",
" <th>Registrar Account - ID</th>\n",
" <th>Registrar Account - Region</th>\n",
" <th>RegistrarAccount - Country</th>\n",
" <th>Product - Asset Type</th>\n",
" <th>Product - Strategy</th>\n",
" <th>Product - Legal Status</th>\n",
" <th>Product - Is Dedie ?</th>\n",
" <th>Product - Fund</th>\n",
" <th>Product - Shareclass Type</th>\n",
" <th>Product - Shareclass Currency</th>\n",
" <th>Product - Isin</th>\n",
" <th>Centralisation Date</th>\n",
" <th>Quantity - AUM</th>\n",
" <th>Value - AUM CCY</th>\n",
" <th>Value - AUM €</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>200000647</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Patrimoine</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Patrimoine</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010135103</td>\n",
" <td>2015-03-31</td>\n",
" <td>35.368</td>\n",
" <td>24648.6666</td>\n",
" <td>24648.6666</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>200000647</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Patrimoine</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Patrimoine</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010135103</td>\n",
" <td>2015-11-30</td>\n",
" <td>35.368</td>\n",
" <td>22413.0553</td>\n",
" <td>22413.0553</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>200000647</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Patrimoine</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Patrimoine</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010135103</td>\n",
" <td>2015-12-31</td>\n",
" <td>35.368</td>\n",
" <td>22051.2406</td>\n",
" <td>22051.2406</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>200000647</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Patrimoine</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Patrimoine</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010135103</td>\n",
" <td>2016-03-31</td>\n",
" <td>35.368</td>\n",
" <td>21626.1173</td>\n",
" <td>21626.1173</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>200000647</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Patrimoine</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Patrimoine</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010135103</td>\n",
" <td>2016-11-30</td>\n",
" <td>35.368</td>\n",
" <td>22489.4502</td>\n",
" <td>22489.4502</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Agreement - Code Company - Id Company - Ultimate Parent Id \\\n",
"0 003 166 166 \n",
"1 003 166 166 \n",
"2 003 166 166 \n",
"3 003 166 166 \n",
"4 003 166 166 \n",
"\n",
" Registrar Account - ID Registrar Account - Region \\\n",
"0 200000647 France \n",
"1 200000647 France \n",
"2 200000647 France \n",
"3 200000647 France \n",
"4 200000647 France \n",
"\n",
" RegistrarAccount - Country Product - Asset Type Product - Strategy \\\n",
"0 France Diversified Patrimoine \n",
"1 France Diversified Patrimoine \n",
"2 France Diversified Patrimoine \n",
"3 France Diversified Patrimoine \n",
"4 France Diversified Patrimoine \n",
"\n",
" Product - Legal Status Product - Is Dedie ? Product - Fund \\\n",
"0 FCP NO Carmignac Patrimoine \n",
"1 FCP NO Carmignac Patrimoine \n",
"2 FCP NO Carmignac Patrimoine \n",
"3 FCP NO Carmignac Patrimoine \n",
"4 FCP NO Carmignac Patrimoine \n",
"\n",
" Product - Shareclass Type Product - Shareclass Currency Product - Isin \\\n",
"0 A EUR FR0010135103 \n",
"1 A EUR FR0010135103 \n",
"2 A EUR FR0010135103 \n",
"3 A EUR FR0010135103 \n",
"4 A EUR FR0010135103 \n",
"\n",
" Centralisation Date Quantity - AUM Value - AUM CCY Value - AUM € \n",
"0 2015-03-31 35.368 24648.6666 24648.6666 \n",
"1 2015-11-30 35.368 22413.0553 22413.0553 \n",
"2 2015-12-31 35.368 22051.2406 22051.2406 \n",
"3 2016-03-31 35.368 21626.1173 21626.1173 \n",
"4 2016-11-30 35.368 22489.4502 22489.4502 "
]
},
"execution_count": 142,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.head()"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a5509e6e-ff10-4388-9fee-5cd49d01b60a",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Agreement - Code</th>\n",
" <th>Company - Id</th>\n",
" <th>Company - Ultimate Parent Id</th>\n",
" <th>Registrar Account - ID</th>\n",
" <th>Registrar Account - Region</th>\n",
" <th>RegistrarAccount - Country</th>\n",
" <th>Product - Asset Type</th>\n",
" <th>Product - Strategy</th>\n",
" <th>Product - Legal Status</th>\n",
" <th>Product - Is Dedie ?</th>\n",
" <th>...</th>\n",
" <th>Centralisation Date</th>\n",
" <th>Quantity - Subscription</th>\n",
" <th>Quantity - Redemption</th>\n",
" <th>Quantity - NetFlows</th>\n",
" <th>Value Ccy - Subscription</th>\n",
" <th>Value Ccy - Redemption</th>\n",
" <th>Value Ccy - NetFlows</th>\n",
" <th>Value € - Subscription</th>\n",
" <th>Value € - Redemption</th>\n",
" <th>Value € - NetFlows</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>200127202</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>SICAV</td>\n",
" <td>NO</td>\n",
" <td>...</td>\n",
" <td>2020-11-05</td>\n",
" <td>1636.00</td>\n",
" <td>0.000</td>\n",
" <td>1636.000</td>\n",
" <td>280983.00</td>\n",
" <td>0.00</td>\n",
" <td>280983.00</td>\n",
" <td>280983.00</td>\n",
" <td>0.00</td>\n",
" <td>280983.00</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>406533</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Patrimoine</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>...</td>\n",
" <td>2015-03-09</td>\n",
" <td>144.69</td>\n",
" <td>0.000</td>\n",
" <td>144.690</td>\n",
" <td>99985.13</td>\n",
" <td>0.00</td>\n",
" <td>99985.13</td>\n",
" <td>99985.13</td>\n",
" <td>0.00</td>\n",
" <td>99985.13</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>406533</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>...</td>\n",
" <td>2016-10-26</td>\n",
" <td>0.00</td>\n",
" <td>-8.321</td>\n",
" <td>-8.321</td>\n",
" <td>0.00</td>\n",
" <td>-9384.76</td>\n",
" <td>-9384.76</td>\n",
" <td>0.00</td>\n",
" <td>-9384.76</td>\n",
" <td>-9384.76</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>406533</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>...</td>\n",
" <td>2018-10-18</td>\n",
" <td>0.00</td>\n",
" <td>-22.083</td>\n",
" <td>-22.083</td>\n",
" <td>0.00</td>\n",
" <td>-25227.40</td>\n",
" <td>-25227.40</td>\n",
" <td>0.00</td>\n",
" <td>-25227.40</td>\n",
" <td>-25227.40</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>003</td>\n",
" <td>166</td>\n",
" <td>166</td>\n",
" <td>406533</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>...</td>\n",
" <td>2019-04-08</td>\n",
" <td>0.00</td>\n",
" <td>-465.992</td>\n",
" <td>-465.992</td>\n",
" <td>0.00</td>\n",
" <td>-563775.76</td>\n",
" <td>-563775.76</td>\n",
" <td>0.00</td>\n",
" <td>-563775.76</td>\n",
" <td>-563775.76</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 24 columns</p>\n",
"</div>"
],
"text/plain": [
" Agreement - Code Company - Id Company - Ultimate Parent Id \\\n",
"0 003 166 166 \n",
"1 003 166 166 \n",
"2 003 166 166 \n",
"3 003 166 166 \n",
"4 003 166 166 \n",
"\n",
" Registrar Account - ID Registrar Account - Region \\\n",
"0 200127202 France \n",
"1 406533 France \n",
"2 406533 France \n",
"3 406533 France \n",
"4 406533 France \n",
"\n",
" RegistrarAccount - Country Product - Asset Type Product - Strategy \\\n",
"0 France Equity Investissement \n",
"1 France Diversified Patrimoine \n",
"2 France Equity Investissement \n",
"3 France Equity Investissement \n",
"4 France Equity Investissement \n",
"\n",
" Product - Legal Status Product - Is Dedie ? ... Centralisation Date \\\n",
"0 SICAV NO ... 2020-11-05 \n",
"1 FCP NO ... 2015-03-09 \n",
"2 FCP NO ... 2016-10-26 \n",
"3 FCP NO ... 2018-10-18 \n",
"4 FCP NO ... 2019-04-08 \n",
"\n",
" Quantity - Subscription Quantity - Redemption Quantity - NetFlows \\\n",
"0 1636.00 0.000 1636.000 \n",
"1 144.69 0.000 144.690 \n",
"2 0.00 -8.321 -8.321 \n",
"3 0.00 -22.083 -22.083 \n",
"4 0.00 -465.992 -465.992 \n",
"\n",
" Value Ccy - Subscription Value Ccy - Redemption Value Ccy - NetFlows \\\n",
"0 280983.00 0.00 280983.00 \n",
"1 99985.13 0.00 99985.13 \n",
"2 0.00 -9384.76 -9384.76 \n",
"3 0.00 -25227.40 -25227.40 \n",
"4 0.00 -563775.76 -563775.76 \n",
"\n",
" Value € - Subscription Value € - Redemption Value € - NetFlows \n",
"0 280983.00 0.00 280983.00 \n",
"1 99985.13 0.00 99985.13 \n",
"2 0.00 -9384.76 -9384.76 \n",
"3 0.00 -25227.40 -25227.40 \n",
"4 0.00 -563775.76 -563775.76 \n",
"\n",
"[5 rows x 24 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dg.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "d4c6dc0e-a5bc-495c-a54b-96dd238f46e3",
"metadata": {},
"outputs": [],
"source": [
"# Filtrer les comptes techniques\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"df['Centralisation Date'] = pd.to_datetime(df['Centralisation Date'])\n",
"dg['Centralisation Date'] = pd.to_datetime(dg['Centralisation Date'])\n",
"df = df[~df['Registrar Account - ID'].isin(['Off Distribution','Private Clients', 'Private Client'])]\n",
"dg = dg[~dg['Registrar Account - ID'].isin(['Off Distribution','Private Clients','Private Client'])]"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c7abd838-cb2d-41dc-a280-6622b0937672",
"metadata": {},
"outputs": [],
"source": [
"# Date de référence\n",
"\n",
"ref_date = pd.Timestamp('2025-10-31')\n",
"\n",
"df_ref = df[df['Centralisation Date'] == ref_date]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "1efb0610-4eaf-427c-a15c-d926d423db76",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Registrar Account - ID</th>\n",
" <th>Value - AUM €</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>3890</th>\n",
" <td>420350</td>\n",
" <td>1.623308e+09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2622</th>\n",
" <td>364765</td>\n",
" <td>1.383209e+09</td>\n",
" </tr>\n",
" <tr>\n",
" <th>956</th>\n",
" <td>200127454</td>\n",
" <td>8.784361e+08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2598</th>\n",
" <td>312933</td>\n",
" <td>8.379604e+08</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1099</th>\n",
" <td>200127809</td>\n",
" <td>8.342839e+08</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Registrar Account - ID Value - AUM €\n",
"3890 420350 1.623308e+09\n",
"2622 364765 1.383209e+09\n",
"956 200127454 8.784361e+08\n",
"2598 312933 8.379604e+08\n",
"1099 200127809 8.342839e+08"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aum_account = (\n",
" df_ref\n",
" .groupby('Registrar Account - ID')['Value - AUM €']\n",
" .sum()\n",
" .reset_index()\n",
" .sort_values(by='Value - AUM €', ascending=False)\n",
")\n",
"aum_account.head()"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "1e359eff-0fa0-410d-b7cc-03b37898890b",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(431, 2)"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Garder les comptes > 5M€\n",
"aum_account = aum_account[aum_account['Value - AUM €'] > 5_000_000]\n",
"aum_account.shape"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "99dcd4c5-56ad-4edb-90a4-ab6482455526",
"metadata": {},
"outputs": [],
"source": [
"# Calcul des poids\n",
"total_aum = aum_account['Value - AUM €'].sum()\n",
"\n",
"aum_account['weight'] = aum_account['Value - AUM €'] / total_aum"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "829a8019-1761-44ec-b2a4-5c4084ae0115",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Registrar Account - ID</th>\n",
" <th>Value - AUM €</th>\n",
" <th>weight</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>3890</th>\n",
" <td>420350</td>\n",
" <td>1.623308e+09</td>\n",
" <td>0.048394</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2622</th>\n",
" <td>364765</td>\n",
" <td>1.383209e+09</td>\n",
" <td>0.041236</td>\n",
" </tr>\n",
" <tr>\n",
" <th>956</th>\n",
" <td>200127454</td>\n",
" <td>8.784361e+08</td>\n",
" <td>0.026188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2598</th>\n",
" <td>312933</td>\n",
" <td>8.379604e+08</td>\n",
" <td>0.024981</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1099</th>\n",
" <td>200127809</td>\n",
" <td>8.342839e+08</td>\n",
" <td>0.024872</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Registrar Account - ID Value - AUM € weight\n",
"3890 420350 1.623308e+09 0.048394\n",
"2622 364765 1.383209e+09 0.041236\n",
"956 200127454 8.784361e+08 0.026188\n",
"2598 312933 8.379604e+08 0.024981\n",
"1099 200127809 8.342839e+08 0.024872"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"aum_account.head()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "12999c3a-3a6b-4035-a7c5-f230083a9143",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Score initial par compte (t = 31/10/2025) :\n"
]
}
],
"source": [
"# Dictionnaire des scores initiaux\n",
"scores = aum_account.set_index('Registrar Account - ID')['weight'].to_dict()\n",
"\n",
"print(\"Score initial par compte (t = 31/10/2025) :\")\n",
"#print(scores)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "c633aa38-8d11-4c1c-897f-e29c1ceaf3dc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"130"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dates = sorted(df['Centralisation Date'].unique(), reverse=True)\n",
"len(dates)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "a23cd218-acf7-4143-996c-5cb209e286a9",
"metadata": {},
"outputs": [],
"source": [
"# Stocks : somme des Quantity par date, compte, ISIN\n",
"stocks_agg = df.groupby(['Centralisation Date', 'Registrar Account - ID', 'Product - Isin'])['Quantity - AUM'].sum()\n",
"\n",
"# Flux : somme des NetFlows par date, compte, ISIN\n",
"flows_agg = dg.groupby(['Centralisation Date', 'Registrar Account - ID', 'Product - Isin'])['Quantity - NetFlows'].sum()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "e302da86-d226-409a-acd6-73f7965f3a60",
"metadata": {},
"outputs": [],
"source": [
"def check_consistency_vector(account, date_t, date_t1, tol = 0.05):\n",
" \"\"\"\n",
" Vérifie si tous les ISIN d'un compte sont cohérents :\n",
" Quantity(t) ≈ Quantity(t-1) + NetFlows\n",
" \"\"\"\n",
"\n",
" # Tous les ISIN pour ce compte sur les deux dates et flux\n",
" isins_t = stocks_agg.loc[date_t, account].index if (date_t, account) in stocks_agg.index else []\n",
" isins_t1 = stocks_agg.loc[date_t1, account].index if (date_t1, account) in stocks_agg.index else []\n",
" isins_fl = flows_agg.loc[date_t, account].index if (date_t, account) in flows_agg.index else []\n",
"\n",
" all_isins = set(isins_t) | set(isins_t1) | set(isins_fl)\n",
"\n",
" # Séries complètes avec fill_value=0 pour tous les ISIN\n",
" st_t = pd.Series({isin: stocks_agg.get((date_t, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" st_t1 = pd.Series({isin: stocks_agg.get((date_t1, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" fl_t = pd.Series({isin: flows_agg.get((date_t, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
"\n",
" # Vérification relative à 5 %\n",
" diff = np.abs(st_t.values - (st_t1.values + fl_t.values))\n",
" relative_error = diff / np.where(st_t.values != 0, st_t.values, 1) # éviter div par 0\n",
"\n",
" return np.all(relative_error <= tol)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "3d1357c8-50fb-4fd9-8b80-d166dcc924cb",
"metadata": {},
"outputs": [],
"source": [
"penalty = 0.9 # facteur de dégradation\n",
"score_history = []\n",
"\n",
"scores = aum_account.set_index('Registrar Account - ID')['weight'].to_dict()\n",
"score_history.append({\n",
" \"date\": ref_date,\n",
" \"total_score\": sum(scores.values()) # ici, scores = poids initiaux\n",
"})\n",
"\n",
"# Trier les dates décroissantes (du plus récent au plus ancien)\n",
"dates_sorted = sorted(df['Centralisation Date'].unique(), reverse=True)\n",
"\n",
"for i in range(len(dates_sorted)-1):\n",
" date_t = dates_sorted[i]\n",
" date_t1 = dates_sorted[i+1]\n",
"\n",
" new_scores = scores.copy()\n",
"\n",
" for account in scores.keys():\n",
" if not check_consistency_vector(account, date_t, date_t1):\n",
" new_scores[account] = scores[account] * penalty # dégrader le score\n",
"\n",
" scores = new_scores\n",
" score_history.append({\n",
" \"date\": date_t1,\n",
" \"total_score\": sum(scores.values())\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "f750c441-a465-42c0-ac29-1f63868eea07",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"score_df = pd.DataFrame(score_history)\n",
"score_df = score_df.sort_values('date') # optionnel pour affichage\n",
"\n",
"plt.plot(score_df['date'], score_df['total_score'], marker='o')\n",
"plt.title(\"Évolution de la Somme des Scores avec pénalité constante\")\n",
"plt.xlabel(\"Date\")\n",
"plt.ylabel(\"Total Score\")\n",
"plt.gca().invert_xaxis() # remonter dans le temps à gauche\n",
"plt.grid(True)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "844508d8-456c-473a-86c8-aad51559794c",
"metadata": {},
"outputs": [],
"source": [
"# Autre score\n",
"\n",
"def score_decay_vector(account, date_t, date_t1, tol=0.05, alpha=1.0):\n",
" \"\"\"\n",
" Score diminue proportionnellement à l'erreur relative au-delà de tolérance,\n",
" en évitant les warnings si pas de données.\n",
" \"\"\"\n",
" # Tous les ISIN pour ce compte\n",
" isins_t = stocks_agg.loc[date_t, account].index if (date_t, account) in stocks_agg.index else []\n",
" isins_t1 = stocks_agg.loc[date_t1, account].index if (date_t1, account) in stocks_agg.index else []\n",
" isins_fl = flows_agg.loc[date_t, account].index if (date_t, account) in flows_agg.index else []\n",
"\n",
" all_isins = set(isins_t) | set(isins_t1) | set(isins_fl)\n",
" if len(all_isins) == 0:\n",
" return 1.0 # pas de données → pas de dégradation\n",
"\n",
" # Séries complètes float + fillna\n",
" st_t = pd.Series({isin: stocks_agg.get((date_t, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" st_t1 = pd.Series({isin: stocks_agg.get((date_t1, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" fl_t = pd.Series({isin: flows_agg.get((date_t, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
"\n",
" # Calcul erreur relative\n",
" denom = np.where(st_t.values != 0, st_t.values, 1)\n",
" diff = np.abs(st_t.values - (st_t1.values + fl_t.values))\n",
" relative_error = diff / denom\n",
"\n",
" # Décroissance proportionnelle\n",
" relative_error_clip = np.maximum(relative_error - tol, 0)\n",
" mean_error = np.nanmean(relative_error_clip) # remplacer NaN par 0\n",
" decay_factor = max(0, 1 - alpha * mean_error)\n",
"\n",
" return decay_factor"
]
},
{
"cell_type": "code",
"execution_count": 216,
"id": "8ec0295d-add3-4674-a657-13bba49f09bf",
"metadata": {},
"outputs": [],
"source": [
"# Score initial = poids des comptes à la date de référence\n",
"score_history3 = []\n",
"scores = aum_account.set_index('Registrar Account - ID')['weight'].to_dict()\n",
"score_history3.append({\n",
" \"date\": ref_date,\n",
" \"total_score\": sum(scores.values())\n",
"})\n",
"\n",
"dates_sorted = sorted(df['Centralisation Date'].unique(), reverse=True)\n",
"\n",
"alpha = 0.05 # sensibilité, 1 = décroissance égale à l'écart moyen au-delà de tolérance\n",
"tol = 0.05 # tolérance 5%\n",
"\n",
"for i in range(1, len(dates_sorted)):\n",
" date_t = dates_sorted[i-1]\n",
" date_t1 = dates_sorted[i]\n",
"\n",
" new_scores = scores.copy()\n",
"\n",
" for account in scores.keys():\n",
" decay = score_decay_vector_max(account, date_t, date_t1, tol=tol, alpha=alpha)\n",
" new_scores[account] = scores[account] * decay\n",
"\n",
" scores = new_scores\n",
" score_history3.append({\n",
" \"date\": date_t1,\n",
" \"total_score\": sum(scores.values())\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 146,
"id": "edadf900-04e6-4fca-8e58-a5ed38cfd2e6",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"score_df = pd.DataFrame(score_history)\n",
"score_df = score_df.sort_values('date')\n",
"\n",
"plt.plot(score_df['date'], score_df['total_score'], marker='o',markersize=4)\n",
"plt.gca().invert_xaxis() # remonter le temps\n",
"plt.title(\"Evolution de la Somme des Scores avec pénalité proportionnelle\")\n",
"plt.xlabel(\"Date\")\n",
"plt.ylabel(\"Total Score\")\n",
"plt.grid(True)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 147,
"id": "eb308001-cdec-43b1-935d-0dc9dc59c192",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>total_score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>129</th>\n",
" <td>2015-01-31</td>\n",
" <td>0.936891</td>\n",
" </tr>\n",
" <tr>\n",
" <th>128</th>\n",
" <td>2015-02-28</td>\n",
" <td>0.937214</td>\n",
" </tr>\n",
" <tr>\n",
" <th>127</th>\n",
" <td>2015-03-31</td>\n",
" <td>0.937968</td>\n",
" </tr>\n",
" <tr>\n",
" <th>126</th>\n",
" <td>2015-04-30</td>\n",
" <td>0.938711</td>\n",
" </tr>\n",
" <tr>\n",
" <th>125</th>\n",
" <td>2015-05-31</td>\n",
" <td>0.938969</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2025-06-30</td>\n",
" <td>0.998601</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2025-07-31</td>\n",
" <td>0.998947</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2025-08-31</td>\n",
" <td>0.999188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2025-09-30</td>\n",
" <td>0.999448</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2025-10-31</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>130 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" date total_score\n",
"129 2015-01-31 0.936891\n",
"128 2015-02-28 0.937214\n",
"127 2015-03-31 0.937968\n",
"126 2015-04-30 0.938711\n",
"125 2015-05-31 0.938969\n",
".. ... ...\n",
"4 2025-06-30 0.998601\n",
"3 2025-07-31 0.998947\n",
"2 2025-08-31 0.999188\n",
"1 2025-09-30 0.999448\n",
"0 2025-10-31 1.000000\n",
"\n",
"[130 rows x 2 columns]"
]
},
"execution_count": 147,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"score_df"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "1579c56d-df62-4161-a0a0-89b35f197ca3",
"metadata": {},
"outputs": [],
"source": [
"def score_decay_vector_max(account, date_t, date_t1, tol=0.05, alpha=0.01):\n",
" \"\"\"\n",
" Score décroît proportionnellement à l'erreur relative,\n",
" en utilisant le max entre stock actuel et stock ajusté par flux comme dénominateur.\n",
" \"\"\"\n",
" # Récupérer tous les ISIN pour ce compte\n",
" isins_t = stocks_agg.loc[date_t, account].index if (date_t, account) in stocks_agg.index else []\n",
" isins_t1 = stocks_agg.loc[date_t1, account].index if (date_t1, account) in stocks_agg.index else []\n",
" isins_fl = flows_agg.loc[date_t, account].index if (date_t, account) in flows_agg.index else []\n",
" \n",
" all_isins = set(isins_t) | set(isins_t1) | set(isins_fl)\n",
" if len(all_isins) == 0:\n",
" return 1.0 # pas de données → pas de dégradation\n",
" \n",
" # Séries float complètes\n",
" st_t = pd.Series({isin: stocks_agg.get((date_t, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" st_t1 = pd.Series({isin: stocks_agg.get((date_t1, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" fl_t = pd.Series({isin: flows_agg.get((date_t, account, isin), 0) for isin in all_isins}).astype(float).fillna(0)\n",
" \n",
" diff = np.abs(st_t.values - (st_t1.values + fl_t.values))\n",
" \n",
" # Dénominateur stable : max entre stock actuel et stock ajusté par flux\n",
" denom = np.maximum(st_t.values, st_t1.values + fl_t.values)\n",
" \n",
" # Calcul erreur relative\n",
" relative_error = np.zeros_like(diff)\n",
" nonzero_mask = denom != 0\n",
" relative_error[nonzero_mask] = diff[nonzero_mask] / denom[nonzero_mask]\n",
" \n",
" relative_error_clip = np.maximum(relative_error - tol, 0)\n",
" \n",
" decay_factor = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
" return decay_factor"
]
},
{
"cell_type": "code",
"execution_count": 218,
"id": "e3c20686-38b7-473b-86e1-c8db01251098",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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xqZNm674uvk/E+u/4UGDBtmdN2LECAMwduzYYWvLP04KG7/5v1c48usgIrk0VU/kFvfFF1+wePFiu2PBggW253v27Im/v7/tN7JgyRYsXryY+++/39Y2f/58goKC7Mqau7i4MGrUKC5cuMDKlStvzBu6ZMmSJWRkZPDCCy/YLcR+8skn8fX1Zd68eXbne3t789BDD9keu7q6EhYWxuHDh6/4OvPnzwdg1KhRdu0vvPDCdb4De9aM0l9//UVqamqh58yZM4ecnBzefPPNAovPrVMBi/u5uLm5FZiqOWvWLBo1akTDhg1JSEiwHT179gRg+fLlV30/zs7OPP3007bHrq6uPP3008THx7NlyxagdMfUs88+e9VzsrOz+euvvxg8eDC1atWytTdq1Ii+ffte82sX5uzZsyxbtowhQ4aQnJxs+0zPnDlD3759OXjwICdOnLC75sknn7Rb17d48WLOnz/P0KFD7b4uTk5OtG/fvtCvyzPPPGP3uGvXrlcd88Xtb4UKFdizZw8HDx4s1mdyteuu5TN76qmn7KbFdu3alezsbI4ePWp7TYA///yTzMzMYvUX4O9//7vd4+eeew7I/T5R0m7E10FEcilwErnFhYWF0atXL7sjPDzc9ryzszP33HMPv//+u239ym+//UZmZqZd4HT06FHq169f4Af2Ro0a2Z6/kayv16BBA7t2V1dXgoODC/SnRo0aBdYZVaxYkXPnzl31dcxmc4Epg/lf93rVrVuXMWPG8M033+Dv70/fvn354osv7NY3HTp0CLPZTOPGja/Y38L6d7nPpXr16nZTNMGy1mrPnj0EBATYHaGhoUBu8YMrqVatWoFiBtbrrevUSmtMOTs7260JupzTp0+TlpZG/fr1CzxX0l/fqKgoDMPgjTfeKPC5jh07Fij4ueavhmn9gbhnz54F7rFo0aIC17u7uxcoWV2UMV/c/r711lucP3+e0NBQmjVrxssvv8zOnTuv+hpXu+5aPrO8AbD1/QK299y9e3fuuecexo8fj7+/P3feeSffffddkdbuAQXGSkhICGazudT2l7sRXwcRyaU1TiJyVQ888ABfffUVCxYsYPDgwcycOZOGDRvSokWLErn/5QojWBep3wiXq8hnGEaJvcb1vs+PPvqIRx99lN9//51FixYxatQo21qKogQC18LDw6NAW05ODs2aNePjjz8u9JqaNWuWSl8up7ifq5ub21XLQd9o1tLTL7300mWzWflLTOf/2ljvMWXKFIKCggpcn7989vVUoSxOf7t168ahQ4ds4/abb77hk08+4csvv7xsOfaiXHctn9nV/p2bTCZ++eUXIiIimDt3Ln/99RePP/44H330EREREXh7e1/hUymoKEVfrseN+DqISC4FTiJyVd26daNq1arMmDGDLl26sGzZMv7xj3/YnVO7dm127txJTk6O3Q+lkZGRtucvp2LFigUqukHhGYWi/iBifb39+/cTHBxsa8/IyCA6OppevXoV6T5FeZ2cnBwOHTpkl4XYv39/gXOL8z4vp1mzZjRr1ox//vOfrFu3js6dO/Pll1/yzjvvEBISQk5ODnv37qVly5aX7a+1f9f6uYSEhLBjxw5uu+22a/7B8OTJkwVKaB84cADAVsCgqGPKmjXI/9leb5YzICAADw+PQqc2Ffb1vR7Wr4WLi8s1j01r1jMwMLDExvflvr7F7a+1Oudjjz3GhQsX6NatG+PGjbvqD+xXuq4kPrPL6dChAx06dOBf//oX06ZN48EHH2T69OlX7e/BgwftMoFRUVHk5OQUWk2zOBz9dRARi5vrV24iclMym83ce++9zJ07lylTppCVlWU3TQ+gf//+nDp1ym4tVFZWFp999hne3t62EsyFCQkJITEx0W7aSGxsLLNnzy5wrpeXV6HBR369evXC1dWVCRMm2GWNvv32WxITE0us6p214t6ECRPs2j/99NMC5xbnfeaXlJREVlaWXVuzZs0wm822aUSDBw/GbDbz1ltv2W2eCbm/US+Jz2XIkCGcOHGCr7/+usBzaWlptgpvV5KVlWVX1jsjI4OvvvqKgIAA2rRpAxR9TNWuXRsnJydWrVpl9xoTJ068aj+uxMnJib59+zJnzhxiYmJs7fv27eOvv/66rnvnFxgYSI8ePfjqq6+IjY0t8Hz+ktmF6du3L76+vrz77ruFrs8pyj3ys1YczP9vrjj9PXPmjN1z3t7e1KtX76rT3652XUl8ZvmdO3euQJbZ+kuIokzX++KLL+wef/bZZwBXrcx5NY78OohILmWcRG5xCxYssP0GP69OnTrZZSTuv/9+PvvsM8aOHUuzZs1s60ysnnrqKb766iseffRRtmzZQp06dfjll19Yu3Ytn376KT4+PpftwwMPPMD//d//cddddzFq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hP60+hoLJ0+eFAAIt27dEo9dvXpVACAkJyfXTmeoUgxOFZg8ebJgbm4uRERECOnp6eLX82Hm888/F5ycnITTp08LFy9eFLy9vQVvb2/x/PXr1wVra2vhr3/9q9Y1MjMzxTJ5eXmCg4ODMGrUKOHGjRtCZGSk0L59e2HixIn12l+qXH2NhfK4q17DU19jYffu3YKenp6wceNGrTI5OTn12l+qXH2NhTt37ggmJibCnDlzhMTERGHjxo2CTCYTTpw4Ua/9pcrVxlgQBEFISUkRrly5Inz22WdChw4dhCtXrghXrlwRiouLBUEQhLCwMEEikQhLliwRbt68KVy6dEkYNGiQ4OzszB+0NhD1NRbUarXQtWtXwcfHR7h8+bJw8eJFoWfPnoK/v3+99re5YnCqAIAKv3744QexTGFhoTBlyhShVatWgomJifDuu+8K6enp4vnFixdXeA1nZ2eteyUmJgp+fn6CsbGx4ODgIMyaNYvfBBuQ+hwLz2Nwanjqayz069evwjKBgYH111l6qfr8vhAeHi54eXkJBgYGQtu2bbXuQbpXG2NBECr/c5+amiqW+fHHH4UuXboILVq0EKytrYW//OUvQmJiYj31lKpSn2Ph/v37wnvvvSeYmpoKtra2wvjx4/lqm3oiEQRBqP4CPyIiIiIiouaDm0MQERERERFVgcGJiIiIiIioCgxOREREREREVWBwIiIiIiIiqgKDExERERERURUYnIiIiIiIiKrA4ERERERERFQFBiciIiIiIqIqMDgREVGjNX78eEgkEkgkEujr68PW1hb+/v7Yvn07NBrNK19nx44dsLCwqLuGEhFRo8fgREREjdrgwYORnp6Ou3fv4vjx4/D19cX06dMxbNgwlJaW6rp5RETURDA4ERFRo2ZoaAi5XA57e3t07doVf//733Hw4EEcP34cO3bsAACsXbsWb7zxBlq0aAFHR0dMmTIFT58+BQBERETgb3/7G548eSLOXn311VcAgOLiYsyePRv29vZo0aIFevbsiYiICN10lIiIdIrBiYiImpwBAwagc+fO+OWXXwAAUqkUGzZswI0bN7Bz506cPn0awcHBAIDevXvj22+/hZmZGdLT05Geno7Zs2cDAKZNm4bo6Gjs3bsX165dw/vvv4/BgwcjJSVFZ30jIiLdkAiCIOi6EURERDUxfvx45OTk4MCBAy+cGz16NK5du4aEhIQXzv3888/4/PPPkZWVBeDZM04zZsxATk6OWEahUKBt27ZQKBRo06aNeNzPzw89evTA8uXLa70/RETUcOnpugFERER1QRAESCQSAMCvv/6KFStWICkpCbm5uSgtLUVRUREKCgpgYmJSYf3r169DrVajQ4cOWseLi4thaWlZ5+0nIqKGhcGJiIiapMTERLi6uuLu3bsYNmwYJk+ejGXLlqF169Y4d+4cPvnkE5SUlFQanJ4+fQqZTIZLly5BJpNpnTM1Na2PLhARUQPC4ERERE3O6dOncf36dcycOROXLl2CRqPBN998A6n02aO9P/30k1Z5AwMDqNVqrWNdunSBWq1GZmYm+vbtW29tJyKihonBiYiIGrXi4mIolUqo1WpkZGTgxIkTWLFiBYYNG4Zx48YhPj4eKpUK3333HYYPH46oqChs2rRJ6xouLi54+vQpwsLC0LlzZ5iYmKBDhw4YO3Ysxo0bh2+++QZdunTBw4cPERYWhk6dOmHo0KE66jEREekCd9UjIqJG7cSJE7Czs4OLiwsGDx6M8PBwbNiwAQcPHoRMJkPnzp2xdu1a/OMf/4Cnpyd2796NFStWaF2jd+/e+Pzzz/Hhhx/C2toaq1atAgD88MMPGDduHL788ku4ublhxIgRiIuLg5OTky66SkREOsRd9YiIiIiIiKrAGSciIiIiIqIqMDgRERERERFVgcGJiIiIiIioCgxOREREREREVWBwIiIiIiIiqgKDExERERERURUYnIiIiIiIiKrA4ERERERERFQFBiciIiIiIqIqMDgRERERERFVgcGJiIiIiIioCgxOREREREREVfg/HfeNUVZdN/AAAAAASUVORK5CYII=",
"text/plain": [
"<Figure size 1000x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Analyse pour différentes sensibilités\n",
"\n",
"import matplotlib.pyplot as plt\n",
"score_df3 = pd.DataFrame(score_history2)\n",
"score_df3 = score_df3.sort_values('date')\n",
"score_df2 = pd.DataFrame(score_history)\n",
"score_df2 = score_df2.sort_values('date')\n",
"score_df1 = pd.DataFrame(score_history3)\n",
"score_df1 = score_df1.sort_values('date')\n",
"\n",
"plt.figure(figsize=(10,5))\n",
"\n",
"# Tracer chaque score_history\n",
"\n",
"plt.plot(score_df2['date'], score_df2['total_score'], marker='o',markersize=2, label='alpha=0.01')\n",
"#plt.plot(score_df2['date'], score_df2['total_score'], marker='o',markersize=2, label='Seuil = 0.9 %')\n",
"plt.plot(score_df1['date'], score_df1['total_score'], marker='o',markersize=2, label='alpha=0.05')\n",
"plt.plot(score_df3['date'], score_df3['total_score'], marker='o',markersize=2, label='alpha=0.1')\n",
"#plt.plot(score_df3['date'], score_df3['total_score'], marker='o',markersize=2, label='Seuil = 1 %')\n",
"\n",
"#plt.plot(score_df1['date'], score_df1['total_score'], marker='o',markersize=2, label='Sans chirurgie')\n",
"\n",
"# Inverser l'axe X si tu veux remonter dans le temps\n",
"plt.gca().invert_xaxis()\n",
"\n",
"# Limites et labels\n",
"#plt.ylim(0.9, 1.05)\n",
"plt.xlabel(\"Date\")\n",
"plt.ylabel(\"Total Score\")\n",
"plt.title(\"Évolution du score pour différentes sensibilités\")\n",
"#plt.title(\"Évolution du score après chirurgie\")\n",
"# Grille et légende\n",
"plt.grid(True)\n",
"plt.legend()\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 148,
"id": "d85c7835-b4f3-4d0e-a9e3-53bb3a1420c7",
"metadata": {},
"outputs": [],
"source": [
"score_history = []\n",
"score_history_accounts = []\n",
"\n",
"scores = aum_account.set_index('Registrar Account - ID')['weight'].to_dict()\n",
"\n",
"score_history.append({\n",
" \"date\": ref_date,\n",
" \"total_score\": sum(scores.values())\n",
"})\n",
"\n",
"for account, score in scores.items():\n",
" score_history_accounts.append({\n",
" \"date\": ref_date,\n",
" \"account\": account,\n",
" \"score\": score\n",
" })\n",
"\n",
"dates_sorted = sorted(df['Centralisation Date'].unique(), reverse=True)\n",
"\n",
"alpha = 0.01\n",
"tol = 0.05\n",
"\n",
"for i in range(1, len(dates_sorted)):\n",
"\n",
" date_t = dates_sorted[i-1]\n",
" date_t1 = dates_sorted[i]\n",
"\n",
" new_scores = scores.copy()\n",
"\n",
" for account in scores.keys():\n",
" decay = score_decay_vector_max(account, date_t, date_t1, tol=tol, alpha=alpha)\n",
" new_scores[account] = scores[account] * decay\n",
"\n",
" scores = new_scores\n",
"\n",
" # score total\n",
" score_history.append({\n",
" \"date\": date_t1,\n",
" \"total_score\": sum(scores.values())\n",
" })\n",
"\n",
" # score par compte\n",
" for account, score in scores.items():\n",
" score_history_accounts.append({\n",
" \"date\": date_t1,\n",
" \"account\": account,\n",
" \"score\": score\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 149,
"id": "76c1d97f-3e73-4305-a161-4a12abc9ffc2",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>account</th>\n",
" <th>score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>2025-10-31</td>\n",
" <td>420350</td>\n",
" <td>0.048394</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>2025-10-31</td>\n",
" <td>364765</td>\n",
" <td>0.041236</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>2025-10-31</td>\n",
" <td>200127454</td>\n",
" <td>0.026188</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>2025-10-31</td>\n",
" <td>312933</td>\n",
" <td>0.024981</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>2025-10-31</td>\n",
" <td>200127809</td>\n",
" <td>0.024872</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" date account score\n",
"0 2025-10-31 420350 0.048394\n",
"1 2025-10-31 364765 0.041236\n",
"2 2025-10-31 200127454 0.026188\n",
"3 2025-10-31 312933 0.024981\n",
"4 2025-10-31 200127809 0.024872"
]
},
"execution_count": 149,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"score_accounts_df = pd.DataFrame(score_history_accounts)\n",
"score_accounts_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 150,
"id": "0e0239f2-ec24-4a43-925b-365a087de3e4",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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HlCs7Z527twZQgh4enpq/nWgvioqKvDcc8/h/Pnz+OGHH/T+64a7uzucnZ1x4sQJnX3Hjx/X+tny8/PDxx9/jHPnzmmd69ixY5r9DTV//nx8+umniI+Px/jx4+8Zv23bNnTu3BmPP/64wZ9RWVmp918W1LZu3YpWrVph5MiRBp/z0qVLAP5+4JSI9ONUECIyCfWI4N3UqzOopzKEhobCwsICS5YsgUql0opVHy+Xy2FjY4M1a9ZonfOTTz7BzZs3MWLEiHv2Z+zYsfj999/x0Ucf6ey7desWysrKaj22X79+cHZ2RkJCgtaSdxs3btQpoDt37gwAWsvRKZVKrF+//p59tLCwQGhoKL799lu9BaL62ocPH47jx49rLQtXVlaG9evXw8PDo85pNQ2RmpqKtLQ0zfbVq1fx9ddfY9iwYZpRaPVqFnffjxdeeAGWlpaIjY3V+XkQQuCPP/6o87OVSiXCwsKQmpqKXbt2ITAwsNbYF198Ed99953WMn4pKSk4f/48xowZo2kbNWoUrK2t8cEHH2j1JSEhAe7u7ggKCqqzT7V57733sGLFCixatAhz5869Z/ypU6dw7ty5WpfDKyoqQnV1tU77xx9/DAB65+EXFBTghx9+wPPPP693JZLi4mKdaTBCCCxduhQAEBwcfM9+E7VkHLEmIpN4/fXXUV5ejueffx4+Pj6oqqrC0aNHsWPHDnh4eGgeLuzSpQv++c9/4u2338aTTz6JF154AVKpFD///DPat2+PuLg4ODs7IzIyErGxsQgJCcHIkSORlZWFDz74AI899hheeumle/bn5Zdfxs6dOzFjxgwcOHAATzzxBJRKJTIzM7Fz507s3btXb6EC1MylXrp0KV599VU89dRTCAsLQ05ODj799FOdOdY9e/bE448/jsjISNy4cQNt27bF9u3bdR4IrM0777yDffv2YdCgQZplAfPy8rBr1y7873//g6OjIxYuXIjPP/8czzzzDObMmYO2bdti06ZNyMnJwZdffqnzEOj98vX1RXBwsNZye0DNMolq6ocb//nPf2LcuHGwtrbGc889h86dO2Pp0qWIjIzE5cuXERoaitatWyMnJwf//e9/MX36dLz55pu1fvYbb7yBb775Bs899xxu3LiBLVu2aO2/M/eLFi3Crl27MGTIEMydOxelpaV477330KtXL62HWTt06IDw8HC8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",
"text/plain": [
"<Figure size 800x400 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"account_id = '200127375'\n",
"\n",
"df_account = (\n",
" score_accounts_df[score_accounts_df[\"account\"] == account_id]\n",
" .sort_values(\"date\")\n",
")\n",
"\n",
"if len(df_account) == 0:\n",
" print(\"Compte non trouvé\")\n",
"else:\n",
" plt.figure(figsize=(8,4))\n",
" plt.plot(df_account[\"date\"], df_account[\"score\"], marker='o', markersize=4)\n",
"\n",
" plt.gca().invert_xaxis()\n",
" \n",
" plt.grid(True)\n",
"\n",
" plt.xlabel(\"Date\")\n",
" plt.ylabel(\"Score\")\n",
" plt.title(f\"Score du compte {account_id}\")\n",
"\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 151,
"id": "dd2f09f1-e586-4f8d-925b-b7b8d2809541",
"metadata": {},
"outputs": [],
"source": [
"def evolution_compte(df, id1, id = 'Registrar Account - ID'):\n",
" def prepare_df(idt):\n",
" df_id = df[df[id] == idt].copy()\n",
" df_id['Centralisation Date'] = pd.to_datetime(df_id['Centralisation Date'])\n",
" df_agg = (\n",
" df_id\n",
" .groupby('Centralisation Date')['Quantity - AUM']\n",
" .sum()\n",
" .reset_index()\n",
" .sort_values('Centralisation Date')\n",
" )\n",
" return df_agg\n",
"\n",
" df1 = prepare_df(id1)\n",
"\n",
" plt.figure(figsize=(12, 6))\n",
"\n",
" # Courbe du compte\n",
" plt.plot(df1['Centralisation Date'], df1['Quantity - AUM'],\n",
" marker='.', linestyle='-', label=f'Account {id1}')\n",
"\n",
" plt.title(f\"Évolution AUM pour le compte {id1}\")\n",
" plt.xlabel(\"Date\")\n",
" plt.ylabel(\"Quantity - AUM\")\n",
" plt.grid(True)\n",
" plt.legend()\n",
" plt.tight_layout()\n",
" plt.show()"
]
},
{
"cell_type": "code",
"execution_count": 152,
"id": "3a6d1927-200e-48ee-8e96-f09e182ae340",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAnkVJREFUeJzs3Xd4VGXexvF7ZlImPYEQEnoUkCpNhNhARYJgoajAKiCirgoW2FWEVYqosPqCoIC4imBjBcWyCipIVQmKCNIEEUFaQk9CejJz3j/CDBlSJ4VJ+X6uzQVzznPO+U3ymE1unmIyDMMQAAAAAAAAcBGZPV0AAAAAAAAAah5CKQAAAAAAAFx0hFIAAAAAAAC46AilAAAAAAAAcNERSgEAAAAAAOCiI5QCAAAAAADARUcoBQAAAAAAgIuOUAoAAAAAAAAXHaEUAAAltGXLFj3//PM6e/asp0sBAAAAqjxCKQAASuDYsWO67bbbFBkZqaCgIE+XAwAAAFR5JsMwDE8XAQBAZbd8+XIlJSVp8ODBni4FAAAAqBYYKQUAQAn07t37ogZSJpNJkyZNKtd7Lly4UCaTSQcOHCjX+8Jz+JoCAICqjFAKAIBCOH7hL+xj48aNni6xQC+++KI+++wzT5dRIJvNpnr16slkMumrr74qsM29996rwMDAQu8RGBioe++91/l67dq1zq/J+++/X+A1V199tUwmk9q0aVOm+lE57dq1S5MmTSr3cG737t166qmn1L59ewUFBSkqKkp9+vTRzz//XGD7I0eO6K677lJoaKiCg4N1++23688//yyw7fz589WyZUtZrVY1a9ZMr732Wr42e/bs0ejRo3XVVVfJarUWGkCeOnVKL7/8sq677jrVqVNHoaGh6tq1qxYvXpyv7b333lvk97UjR44UWG9iYqIiIiJkMpn08ccf5zu/efNm9erVS8HBwQoKClLPnj21devWfO26d+9e4HN79epV4HMBANWbl6cLAACgsnvuuecUHR2d73jTpk09UE3xXnzxRd1xxx3q27evy/EhQ4Zo0KBB8vX19UxhklavXq34+Hg1adJEH3zwgW6++eZyu7fVatWiRYt0zz33uBw/cOCANmzYIKvVWm7PQuWya9cuTZ48Wd27d1eTJk3K7b5vvfWW5s+frwEDBuiRRx5RUlKS3njjDXXt2lVff/21evTo4WybkpKi66+/XklJSRo/fry8vb31yiuvqFu3btq6datq167tbPvGG2/ooYce0oABAzRmzBh99913euyxx5SWlqaxY8c628XFxenVV19Vq1at1LJlywJDHke7f/3rX+rdu7eeeeYZeXl5aenSpRo0aJDzc+Pw97//3aVuSTIMQw899JCaNGmi+vXrF/iMCRMmKC0trcBzv/zyi6655ho1bNhQEydOlN1u19y5c9WtWzf99NNPuuyyy1zaN2jQQFOnTnU5Vq9evQLvDQCo3gilAAAoxs0336wrrrjC02WUmcVikcVi8WgN77//vjp27Khhw4Zp/PjxSk1NVUBAQLncu3fv3vrf//6nkydPKjw83Hl80aJFqlu3rpo1a6YzZ86Uy7MupvL8HME9gwcP1qRJk1xG7t13331q2bKlJk2a5BLuzJ07V3v37tVPP/2kzp07S8r93tGmTRtNnz5dL774oiQpPT1d//rXv9SnTx/niKMHHnhAdrtdU6ZM0YMPPqiwsDBJ0m233abExEQFBQXp//7v/woNpVq3bq29e/eqcePGzmOPPPKIevTooX//+9966qmnnH0oJiZGMTExLtd///33SktL0913313g/Xfs2KHXX39dEyZM0IQJE/Kdf/bZZ+Xn56e4uDhn+HbPPfeoefPmGj9+vJYuXerSPiQkJF94DAComZi+BwBAGWRnZ6tWrVoaPnx4vnPJycmyWq365z//6Tx2/PhxjRgxQnXr1pXValW7du30zjvvFPuce++9t8ARIJMmTZLJZHK+NplMSk1N1TvvvOOcFuOY6lbY+kNz585V69at5evrq3r16mnkyJFKTEx0adO9e3e1adNGu3bt0vXXXy9/f3/Vr19fL730UrG1O6Snp+vTTz/VoEGDdNdddyk9PV2ff/55ia8vzu233y5fX1999NFHLscXLVqku+66q8SBnOO9bt68WVdddZX8/PwUHR2tefPm5Wtbkq+nY3rh2rVrXY4fOHBAJpNJCxcudB5zTF3ct2+fevfuraCgoEKDgqJ89dVXuvbaaxUQEKCgoCD16dNHO3fuLNG1iYmJGj16tJo0aSJfX181aNBAQ4cO1cmTJ916347393//93+aM2eOLrnkEvn7+6tnz546dOiQDMPQlClT1KBBA/n5+en222/X6dOnXe7RpEkT3XLLLVqxYoXat28vq9WqVq1a6ZNPPnG2Wbhwoe68805J0vXXX+/s93k/36X9fHTq1CnfVNLatWvr2muv1W+//eZy/OOPP1bnzp2dgZQktWjRQjfeeKOWLFniPLZmzRqdOnVKjzzyiMv1I0eOVGpqqpYtW+Y8VqtWrRLt9hkdHe0SSEm53wv69u2rzMzMQqcQOixatEgmk0l/+9vfCjz/+OOPq1+/frr22msLPP/dd9+pR48eLqPBoqKi1K1bN3355ZdKSUnJd01OTk6BxwEANQuhFAAAxUhKStLJkyddPk6dOiVJ8vb2Vr9+/fTZZ58pKyvL5brPPvtMmZmZGjRokKTcUKZ79+567733dPfdd+vll19WSEiI7r33Xs2aNatcan3vvffk6+ura6+9Vu+9957ee+89/f3vfy+0/aRJkzRy5EjVq1dP06dP14ABA/TGG2+oZ8+eys7Odml75swZ9erVS+3atdP06dPVokULjR07ttC1oS70v//9TykpKRo0aJAiIyPVvXt3ffDBB2V6v3n5+/vr9ttv13//+1/nsV9//VU7d+4s9Jftwpw5c0a9e/dWp06d9NJLL6lBgwZ6+OGH9fbbbzvbVNTXMycnR7GxsYqIiND//d//acCAAW5d/95776lPnz4KDAzUv//9bz377LPatWuXrrnmmmLXXEpJSdG1116r1157TT179tSsWbP00EMPaffu3Tp8+LAk99/3Bx98oLlz5+rRRx/VP/7xD61bt0533XWXnnnmGX399dcaO3asHnzwQX3xxRcuAa7D3r17NXDgQN18882aOnWqvLy8dOedd2rlypWSpOuuu06PPfaYJGn8+PHOft+yZcsyfz4Kk5CQ4DIaz263a9u2bQWOqLzyyiu1b98+nT17VpK0ZcsWScrXtlOnTjKbzc7z5SEhIUGSXGq9UHZ2tpYsWaKrrrqqwOD7o48+0oYNG4oMoDMzM+Xn55fvuL+/v7KysrRjxw6X47///rszIIyMjNSzzz6b7/sNAKCGMAAAQIEWLFhgSCrww9fX19num2++MSQZX3zxhcv1vXv3Ni655BLn65kzZxqSjPfff995LCsry4iJiTECAwON5ORk53FJxsSJE52vhw0bZjRu3DhfjRMnTjQu/L/zgIAAY9iwYYW+n/379xuGYRjHjx83fHx8jJ49exo2m83Zbvbs2YYk4+2333Ye69atmyHJePfdd53HMjMzjcjI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Um4fHTp0qFatWqUlS5bk68OSZDab1bZtW/3888/5zv3444+65JJLnLvotW/fXpL0888/q3fv3s52P//8s+x2u/N8acyZM0eTJk3SE088obFjxxbb/oMPPlBgYKBuu+22fOcOHjyoP/74w+V7g4Nj58AzZ84oNDTUeTwsLEzXXHON8/W3336rBg0aqEWLFkXW4ZgCXKdOnWJrBgBUL6wpBQBAOTCbzbrjjjv0xRdf6L333lNOTo7L1D1J6t27txISElzWnsrJydFrr72mwMDAAn/Zdbj00kuVlJTkMlUuPj5en376ab62AQEBBQZYF+rRo4d8fHz06quvuoxOmT9/vpKSktSnT59i71ESjlFSTz31lO644w6Xj7vuukvdunVz2YXv5ptvliTNnj07373mzJnj0qYgJpNJr776qiZOnFjsSJHC5OTk6I033nC+zsrK0htvvKE6deqoU6dOkkr+9WzcuLEsFovWr1/v8oy5c+eWqraixMbGKjg4WC+++GKBu5mdOHGiyOsHDBigX3/9tcB+5egjZenHpXH06FGXepKTk/Xuu++qffv2ztFPjvDwwn5f1s+HlDsVbvHixZo7d6769+9faLs77rhDmzZtcgmm9uzZo9WrV+vOO+90HrvhhhtUq1Ytvf766y7Xv/766/L39y/1f3eLFy/WY489prvvvlszZswotv2JEyf07bffql+/fvL39893/vnnn9enn37q8jFlyhRJuf8tf/rpp/mmuF5Yz6ZNm1zWrEtOTs43xdEwDD3//POScr9eAICahZFSAAAU46uvvnKOAsnrqquuchlFMHDgQL322muaOHGi2rZt61xjx+HBBx/UG2+8oXvvvVebN29WkyZN9PHHH+uHH37QzJkznSMpCjJo0CCNHTtW/fr102OPPaa0tDS9/vrrat68uX755ReXtp06ddK3336rGTNmqF69eoqOjnYuLp1XnTp1NG7cOE2ePFm9evXSbbfdpj179mju3Lnq3Lmzy6LmZfHBBx+offv2+dYQcrjtttv06KOP6pdfflHHjh3Vvn173X///Zo1a5b27t2rm266SVLuotXLly/X/fffX+y0yNtvv1233357qWuuV6+e/v3vf+vAgQNq3ry5Fi9erK1bt+o///mPvL29JZX86xkSEqI777xTr732mkwmky699FJ9+eWXOn78eKnrK0xwcLBef/11DRkyRB07dtSgQYNUp04dHTx4UMuWLdPVV19dYNjn8OSTT+rjjz/WnXfeqfvuu0+dOnXS6dOn9b///U/z5s1Tu3btytSPS6N58+YaMWKENm3apLp16+rtt9/WsWPHtGDBAmeb9u3by2Kx6N///reSkpLk6+urG264QREREWX6fMycOVNz585VTEyM/P399f7777uc79evnzOYeeSRR/Tmm2+qT58++uc//ylvb2/NmDFDdevW1T/+8Q/nNX5+fpoyZYpGjhypO++8U7Gxsfruu+/0/vvv64UXXlCtWrWcbZOSkpwLlf/www+ScsPa0NBQhYaGatSoUZKkn376SUOHDlXt2rV14403uoS8Uv7vVVJuaJSTk1Pg1D1JLiOeHByjojp37qy+ffs6j69fv17PPfecevbsqdq1a2vjxo1asGCBevXqpccff9zZ7pdfftHgwYM1ePBgNW3aVOnp6fr000/1ww8/6MEHH1THjh0LrAUAUI15bN8/AAAquQULFhiSCv1YsGCBS3u73W40bNjQkGQ8//zzBd7z2LFjxvDhw43w8HDDx8fHaNu2bb77GIZhSDImTpzocmzFihVGmzZtDB8fH+Oyyy4z3n//fWPixInGhf93vnv3buO6664z/Pz8DEnGsGHDXN7PhVvKz54922jRooXh7e1t1K1b13j44YeNM2fOuLTp1q2b0bp163x1Dhs2zGjcuHGB79UwDGPz5s2GJOPZZ58ttM2BAwcMScbo0aOdx2w2mzFr1iyjXbt2htVqNaxWq9GuXTvj1VdfNWw2m8v1hW1Tf6HC3kNh7X7++WcjJibGsFqtRuPGjY3Zs2fna1vSr+eJEyeMAQMGGP7+/kZYWJjx97//3dixY0e+fjRs2DAjICCg2BodCvuarlmzxoiNjTVCQkIMq9VqXHrppca9995r/Pzzz8Xe89SpU8aoUaOM+vXrGz4+PkaDBg2MYcOGGSdPnnTrfe/fv9+QZLz88sv5aivo6+V4L5s2bXIea9y4sdGnTx/jm2++MS6//HLD19fXaNGiRYFf6zfffNO45JJLDIvFYkgy1qxZU+bPx7Bhw4r8HnDh5/3QoUPGHXfcYQQHBxuBgYHGLbfcYuzdu7fAe//nP/8xLrvsMsPHx8e49NJLjVdeecWw2+0Ffg4L+sj7352736sMwzC6du1qREREGDk5OUV+DvIq7Gv3xx9/GD179jTCw8OdX6OpU6camZmZLu3+/PNP48477zSaNGliWK1Ww9/f3+jUqZMxb968fO8dAFAzmAyjHFeTBAAAqOK6d++ukydPFru2EipekyZN1KZNG3355ZeeLgUAAFQA1pQCAAAAAADARUcoBQAAAAAAgIuOUAoAAAAAAAAXHWtKAQAAAAAA4KJjpBQAAAAAAAAuOkIpAAAAAAAAXHSEUgAAAAAAALjovDxdQHVht9t19OhRBQUFyWQyebocAAAAAAAAjzAMQ2fPnlW9evVkNhc+HopQqpwcPXpUDRs29HQZAAAAAAAAlcKhQ4fUoEGDQs8TSpWToKAgSbmf8ODgYA9XU3rZ2dlasWKFevbsKW9vb0+XAxSJ/oqqgr6KqoB+iqqCvoqqgr6KqqIi+mpycrIaNmzozEoKQyhVThxT9oKDg6t8KOXv76/g4GC+caLSo7+iqqCvoiqgn6KqoK+iqqCvoqqoyL5a3PJGLHQOAAAAAACAi45QCgAAAAAAABcdoRQAAAAAAAAuOtaUushsNpuys7M9XUahsrOz5eXlpYyMDNlsNk+XgyrKx8enyG0/AQAAAAAglLpIDMNQQkKCEhMTPV1KkQzDUGRkpA4dOlTsgmRAYcxms6Kjo+Xj4+PpUgAAAAAAlRSh1EXiCKQiIiLk7+9faQMfu92ulJQUBQYGMtIFpWK323X06FHFx8erUaNGlbavAwAAAAA8i1DqIrDZbM5Aqnbt2p4up0h2u11ZWVmyWq2EUii1OnXq6OjRo8rJyWH7WwAAAABAgUgdLgLHGlL+/v4ergS4OBzT9liXDAAAAABQGEKpi4hpTKgp6OsAAAAAgOIQSgEAAAAAAOCiI5RCicTFxclisahPnz6eLqVU1q5dK5PJVOzuh2vXrtXtt9+uqKgoBQQEqH379vrggw/ytfvoo4/UokULWa1WtW3bVsuXL3c5bxiGJkyYoKioKPn5+alHjx7au3evS5sXXnhBV111lfz9/RUaGprvGb/++qsGDx6shg0bys/PTy1bttSsWbNc2tx7770ymUz5Plq3bl3g+5s2bZpMJpOeeOIJl+P79u1Tv379VKdOHQUHB+uuu+7SsWPHXNo0adIk33OmTZtW2KcSAAAAAIAiEUqhRObPn69HH31U69ev19GjRz1dToXZsGGDLr/8ci1dulTbtm3T8OHDNXToUH355ZcubQYPHqwRI0Zoy5Yt6tu3r/r27asdO3Y427z00kt69dVXNW/ePP34448KCAhQbGysMjIynG2ysrJ055136uGHHy6wls2bNysiIkLvv/++du7cqX/9618aN26cZs+e7Wwza9YsxcfHOz8OHTqkWrVq6c4778x3v02bNumNN97Q5Zdf7nI8NTVVPXv2lMlk0urVq/XDDz8oKytLt956q+x2u0vb5557zuV5jz76qHufYAAAAAAAziGUqoLik9K1Yd9JxSelX5TnpaSkaPHixXr44YfVp08fLVy4MF+bL774Qp07d5bValV4eLj69evnPJeZmamxY8eqYcOG8vX1VdOmTTV//nzn+XXr1unKK6+Ur6+voqKi9PTTTysnJ8d5vkmTJpo5c6bL89q3b69JkyY5X5tMJr311lvq16+f/P391axZM/3vf/+TJB04cEDXX3+9JCksLEwmk0n33ntvge91/PjxmjJliq666ipdeumlevzxx9WrVy998sknzjazZs1Sr1699OSTT6ply5aaMmWKOnbs6AyLDMPQzJkz9cwzz+j222/X5ZdfrnfffVdHjx7VZ5995rzP5MmTNXr0aLVt27bAWu677z7NmjVL3bp10yWXXKJ77rlHw4cPd6klJCREkZGRzo+ff/5ZZ86c0fDhw13ulZKSorvvvltvvvmmwsLCXM798MMPOnDggBYuXKi2bduqbdu2euedd/Tzzz9r9erVLm2DgoJcnhcQEFBg7QAAAAAAFIdQykMMw1BaVo7bH+/FHdDV01brb2/+qKunrdZ7cQfcut4wDLdrXbJkiVq0aKHLLrtM99xzj95++22X+yxbtkz9+vVT7969tWXLFq1atUpXXnml8/zQoUP13//+V6+++qp+++03vfHGGwoMDJQkHTlyRL1791bnzp3166+/6vXXX9f8+fP1/PPPu13n5MmTddddd2nbtm3q3bu37r77bp0+fVoNGzbU0qVLJUl79uxRfHx8vmlwRUlKSlKtWrWcr+Pi4tSjRw+XNrGxsYqLi5Mk7d+/XwkJCS5tQkJC1KVLF2eb0rqwlgvNnz9fPXr0UOPGjV2Ojxw5Un369MlXt5QbGppMJvn6+jqPWa1Wmc1mff/99y5tp02bptq1a6tDhw56+eWXXcJDAAAAAADc4eXpAmqq9GybWk34pkz3sBvSs5/v1LOf7yzx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fHy8Zs+erauvvrrcCgMAAED1w5pSAADAwe1Qqm/fvi6vTSaT6tSpoxtuuEHTp08vr7oAAABQzdjths5mnpu+x+57AADUeG7/NGC32yuiDgAAAFRzKVk5MozcvzNSCgAAlHpNqZMnTyo5Obk8awEAAEA15pi65+NlltXb4uFqAACAp7kVSiUmJmrkyJEKDw9X3bp1FRYWpsjISI0bN05paWkVVSMAAACqgSTWkwIAAHmUePre6dOnFRMToyNHjujuu+9Wy5YtJUm7du3Sa6+9ppUrV+r777/Xtm3btHHjRj322GMVVjQAAACqnuR01pMCAADnlfgngueee04+Pj7at2+f6tatm+9cz549NWTIEK1YsUKvvvpquRcKAACAqi05g5FSAADgvBKHUp999pneeOONfIGUJEVGRuqll15S7969NXHiRA0bNqxciwQAAEDV51hTKtiPUAoAALixplR8fLxat25d6Pk2bdrIbDZr4sSJJX741KlT1blzZwUFBSkiIkJ9+/bVnj17XNpkZGRo5MiRql27tgIDAzVgwAAdO3bMpc3BgwfVp08f+fv7KyIiQk8++aRycnJc2qxdu1YdO3aUr6+vmjZtqoULF+arZ86cOWrSpImsVqu6dOmin376qcTvBQAAAEVLzsj9+SyEUAoAAMiNUCo8PFwHDhwo9Pz+/fsVERHh1sPXrVunkSNHauPGjVq5cqWys7PVs2dPpaamOtuMHj1aX3zxhT766COtW7dOR48eVf/+/Z3nbTab+vTpo6ysLG3YsEHvvPOOFi5cqAkTJrjU1qdPH11//fXaunWrnnjiCd1///365ptvnG0WL16sMWPGaOLEifrll1/Url07xcbG6vjx4269JwAAABTMOVLKyppSAADAjVAqNjZW//rXv5SVlZXvXGZmpp599ln16tXLrYd//fXXuvfee9W6dWu1a9dOCxcu1MGDB7V582ZJUlJSkubPn68ZM2bohhtuUKdOnbRgwQJt2LBBGzdulCStWLFCu3bt0vvvv6/27dvr5ptv1pQpUzRnzhxnrfPmzVN0dLSmT5+uli1batSoUbrjjjv0yiuvOGuZMWOGHnjgAQ0fPlytWrXSvHnz5O/vr7ffftut9wQAAICCOdeUYqQUAACQmwudX3HFFWrWrJlGjhypFi1ayDAM/fbbb5o7d64yMzP17rvvlqmYpKQk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",
"text/plain": [
"<Figure size 1200x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"evolution_compte(df, '200127495') \n"
]
},
{
"cell_type": "code",
"execution_count": 99,
"id": "f13d2f9b-e4ce-4c1c-aa2b-55fb63b52616",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAwXtJREFUeJzs3Xd4VNXWx/HfZJJJJQVCSJAAoUkVFBAQCyqCggVBihUUO6jIfZWLigh2vRZQ7AjXgoJXLFcR4aKICkiR3qQHJKGG9D77/SPMkCEJpMykzffzPHk05+w5s2eySU5W1lrbYowxAgAAAAAAACqRT1VPAAAAAAAAAN6HoBQAAAAAAAAqHUEpAAAAAAAAVDqCUgAAAAAAAKh0BKUAAAAAAABQ6QhKAQAAAAAAoNIRlAIAAAAAAEClIygFAAAAAACASkdQCgCAclqzZo2eeeYZpaamVvVUAAAAgBqHoBQAAOVw8OBBXXvttYqOjladOnWqejoAAABAjWMxxpiqngQAADXNvHnzlJycrBtvvLGqpwIAAADUSGRKAQBQDv369avUgJTFYtFTTz3l1mvOnDlTFotFe/bscet1UXX4mgIAgJqEoBQAAKXk+IW/pI/ly5dX9RSL9dxzz+nrr7+u6mkUKz8/Xw0bNpTFYtEPP/xQ7JgRI0YoJCSkxGuEhIRoxIgRzs8XL17s/Jp88sknxT6mZ8+eslgsat++fYXmj+pp8+bNeuqpp9wenNu6daseffRRderUSXXq1FFMTIz69++vVatWFTv+77//1pAhQxQeHq7Q0FBdd9112rVrV7Fjp0+frjZt2iggIEAtW7bUG2+8UWTMtm3b9PDDD+uCCy5QQEBAiQHIo0eP6uWXX9bFF1+s+vXrKzw8XN27d9fs2bOLjB0xYsRpv6/9/fffxc73+PHjioqKksVi0X/+859yXzM3N1eTJk1Ss2bN5O/vr2bNmumZZ55RXl5esc8LAKhdfKt6AgAA1DSTJ09WXFxckeMtWrSogtmc2XPPPacbbrhBAwYMcDl+6623atiwYfL396+aiUn66aeflJCQoKZNm+rTTz/VVVdd5bZrBwQEaNasWbrllltcju/Zs0dLly5VQECA254L1cvmzZs1adIk9erVS02bNnXbdT/44ANNnz5dgwYN0v3336/k5GS9++676t69u+bPn6/evXs7x6alpenSSy9VcnKyHnvsMfn5+em1117TJZdcorVr16pevXrOse+++67uvfdeDRo0SGPHjtWvv/6qBx98UBkZGRo3bpxz3LJlyzR16lS1bdtWbdq00dq1a4ud57Jly/T444+rX79+euKJJ+Tr66svv/xSw4YNc743Dvfcc4/LvCXJGKN7771XTZs21VlnnVXsczz55JPKyMgo9lxZrnnLLbfoiy++0B133KEuXbpo+fLlmjBhguLj4/Xee+8Ve30AQC1iAABAqcyYMcNIMitXrqz055ZkJk6cWK7HBgcHm+HDh7t1Pu5y2223mfPOO89MmTLFBAcHm7S0tCJjhg8fboKDg0u8xqmv7+effzaSzMCBA42vr685fPiwy/hnn33WNGjQwFx44YWmXbt2bnstlaW498jBsUZ3795deROqhr744gsjyfz8889uve6qVatMamqqy7EjR46Y+vXrm549e7ocf/HFF40ks2LFCuexLVu2GKvVasaPH+88lpGRYerVq2f69+/v8vibb77ZBAcHm2PHjjmPHT161KSkpBhjjHn55ZdL/Frv2rXL7Nmzx+WY3W43l112mfH39z/tGjLGmF9//dVIMs8++2yx5zds2GB8fX3N5MmTjSTzxRdfnPZ6JV1zxYoVRpKZMGGCy9h//OMfxmKxmHXr1p3xugCAmo3yPQAA3Cg3N1d169bV7bffXuRcSkqKAgIC9H//93/OY4cOHdLIkSPVoEEDBQQEqGPHjvr3v/99xucZMWJEsRkgTz31lCwWi/Nzi8Wi9PR0/fvf/3aWzjhK3UrqP/TWW2+pXbt28vf3V8OGDTVq1CgdP37cZUyvXr3Uvn17bd68WZdeeqmCgoJ01lln6aWXXjrj3B0yMzP11VdfadiwYRoyZIgyMzP1zTfflPrxZ3LdddfJ399fX3zxhcvxWbNmaciQIbJaraW6juO1rl69WhdccIECAwMVFxend955p8jY0nw9HeWFixcvdjm+Z88eWSwWzZw503nMUbq4c+dO9evXT3Xq1NHNN99cujegkB9++EEXXXSRgoODVadOHfXv31+bNm0q1WOPHz+uhx9+WE2bNpW/v78aNWqk2267TUeOHCnT63a8vn/961+aNm2amjVrpqCgIPXp00f79u2TMUZPP/20GjVqpMDAQF133XU6duyYyzWaNm2qq6++WgsWLFCnTp0UEBCgtm3bau7cuc4xM2fO1ODBgyVJl156qXPdF36/y/t+dO7cuUgpab169XTRRRdpy5YtLsf/85//qGvXruratavzWOvWrXX55Zdrzpw5zmM///yzjh49qvvvv9/l8aNGjVJ6erq+//5757G6deuWarfPuLg4NWnSxOWYxWLRgAEDlJ2dXWIJocOsWbNksVh00003FXv+oYce0vXXX6+LLrrojHM53TV//fVXSdKwYcNcxg4bNkzGmGLLDQEAtQtBKQAAyig5OVlHjhxx+Th69Kgkyc/PT9dff72+/vpr5eTkuDzu66+/VnZ2tvMXsMzMTPXq1Usff/yxbr75Zr388ssKCwvTiBEjNGXKFLfM9eOPP5a/v78uuugiffzxx/r44491zz33lDj+qaee0qhRo9SwYUO98sorGjRokN5991316dNHubm5LmOTkpJ05ZVXqmPHjnrllVfUunVrjRs3rsTeUKf69ttvlZaWpmHDhik6Olq9evXSp59+WqHXW1hQUJCuu+46ffbZZ85j69at06ZNm0r8ZbskSUlJ6tevnzp37qyXXnpJjRo10n333acPP/zQOcZTX8+8vDz17dtXUVFR+te//qVBgwaV6fEff/yx+vfvr5CQEL344ouaMGGCNm/erAsvvPCMPZfS0tJ00UUX6Y033lCfPn00ZcoU3Xvvvdq6dav2798vqeyv+9NPP9Vbb72lBx54QP/4xz/0yy+/aMiQIXriiSc0f/58jRs3Tnfffbf++9//ugRwHbZv366hQ4fqqquu0vPPPy9fX18NHjxYCxculCRdfPHFevDBByVJjz32mHPdt2nTpsLvR0kSExMVGRnp/Nxut2v9+vXq0qVLkbHnn3++du7cqdTUVEnSmjVrJKnI2M6dO8vHx8d53h0SExMlyWWup8rNzdWcOXN0wQUXFBv4/uKLL7R06dIyBaBLumZ2drYkKTAw0GV8UFCQJGn16tWlfg4AQA1V1alaAADUFI7SqOI+/P39neN+/PFHI8n897//dXl8v379TLNmzZyfv/7660aS+eSTT5zHcnJyTI8ePUxISIizTMeYouV7w4cPN02aNCkyx4kTJ5pTf7yXVL53aqnXoUOHjM1mM3369DH5+fnOcW+++aaRZD788EPnsUsuucRIMh999JHzWHZ2tomOjjaDBg0q8lzFufrqq11Knt577z3j6+trDh065DKu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2+1u+54DAKi+6CkFAIAH+Pj46IYbbtB///tfffzxx8rLy3Mp3ZMK+qkkJia69J7Ky8vTG2+8oZCQkNNmCTRv3lzJyckupXIJCQn66quviowNDg4uNoB1qt69e8tms2nq1Kku2SnTp09XcnKy+vfvf8ZrlIYjS+rRRx/VDTfc4PIxZMgQXXLJJS678F111VWSpDfffLPItaZNm+YypjgWi0VTp07VxIkTz5gpUpK8vDy9++67zs9zcnL07rvvqn79+urcubOk0n89mzRpIqvVqiVLlrg8x1tvvVWuuZ1O3759FRoaqueee67I7olSQYbL6QwaNEjr1q0rdl051khF1nF5HDhwwGU+KSkp+uijj9SpUydn9pMjeHjquq/o+yEVlMLNnj1bb731lgYOHFjiuBtuuEErV650CUxt27ZNP/30kwYPHuw8dtlll6lu3bp6++23XR7/9ttvKygoqNz/7mbPnq0HH3xQN998s1599dUzjj98+LD+97//6frrr3fuflfYM888o6+++srl4+mnn5ZU8G/5q6++KlLieqZrFiczM1MTJkxQTExMufq/AQBqFjKlAAAoox9++MGZBVLYBRdc4JJFMHToUL3xxhuaOHGiOnTo4Oyx43D33Xfr3Xff1YgRI7R69Wo1bdpU//nPf/T777/r9ddfd2ZSFGfYsGEaN26crr/+ej344IPKyMjQ22+/rVatWunPP/90Gdu5c2f973//06uvvqqGDRsqLi7O2Vy6sPr162v8+PGaNGmSrrzySl177bXatm2b3nrrLXXt2tWlqXlFfPrpp+rUqVORHkIO1157rR544AH9+eefOu+889SpUyfdeeedmjJlirZv364rrrhCUkHT6nnz5unOO+88Y1nkddddp+uuu67cc27YsKFefPFF7dmzR61atdLs2bO1du1avffee/Lz85NU+q9nWFiYBg8erDfeeEMWi0XNmzfXd999p0OHDpV7fiUJDQ3V22+/rVtvvVXnnXeehg0bpvr16ys+Pl7ff/+9evbsWWywz+GRRx7Rf/7zHw0ePFh33HGHOnfurGPHjunbb7/VO++8o44dO1ZoHZdHq1atNHLkSK1cuVINGjTQhx9+qIMHD2rGjBnOMZ06dZLVatWLL76o5ORk+fv767LLLlNUVFSF3o/XX39db731lnr06KGgoCB98sknLuevv/56Z2Dm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n2jTpk16/PHHNX78eL355pvOMVOmTFFCQoLzY9++fapbt64GDx5c5HorV67Uu+++q3POOcfleGxsrMs1EhISNGnSJIWEhOiqq66SJG3YsEFXX321rrzySq1Zs0azZ8/Wt99+q3/+85/le6NLy1Shvn37mhkzZpiNGzeatWvXmn79+pnGjRubtLQ055hLLrnE3HXXXSYhIcH5kZyc7Dyfl5dn2rdvb3r37m3WrFlj5s2bZyIjI8348eOdY3bt2mWCgoLM2LFjzebNm80bb7xhrFarmT9/vnPM559/bmw2m/nwww/Npk2bzF133WXCw8PNwYMHnWPuvfdeExsbaxYtWmRWrVplunfvbi644IJSv97k5GQjyWX+NVFOTo75+uuvTU5OTlVPBSgR6xTVHWsUNQHrFNUdaxTVSWZmptm8ebPJzMx0OZ6fn2+SkpJMfn5+qa914HiG+X3HYXPgeIa7p1ms1NRUExISYrZu3WqGDh1qnn322SJjvv32W9OlSxfj7+9v6tWrZwYMGOA8l5WVZR599FHTqFEjY7PZTPPmzc0HH3zgPL948WLTtWtXY7PZTHR0tBk3bpzJzc11nm/SpIl57bXXXJ6vY8eOZuLEic7PJZn333/fDBgwwAQGBpoWLVqYb775xhhjzO7du40kl4/hw4eX+vX369fP3H777c7PhwwZYvr37+8yplu3buaee+4xxhhjt9tNdHS0efnll53njx8/bvz9/c1nn31W5PozZswwYWFhpZrL/fffby699NISz3/11VfGYrGYPXv2uBxPTU01LVu2NAsXLjSXXHKJeeihh077PJ06dTJ33HGHMaZgjT788MOmS5cuLmO+/fZbExAQYFJSUoq9Rklr3pjSxz+qNFNq/vz5GjFihNq1a6eOHTtq5syZio+P1+rVq13GBQUFKTo62vkRGhrqPLdgwQJt3rxZn3zyiTp16qSrrrpKTz/9tKZNm6acnBxJ0jvvvKO4uDi98soratOmjUaPHq0bbrhBr732mvM6r776qu666y7dfvvtatu2rd555x0FBQXpww8/lCQlJydr+vTpevXVV3XZZZepc+fOmjFjhpYuXarly5dXwrsFAAAAAKgpjDHKyMlTRk6eMnPynf9/po+Pl+1Rzxd+0k3v/6GeL/ykj5ftKfVjHR/GmDLNdc6cOWrdurXOPvts3XLLLfrwww9d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6oUXXtD9999f5PwFF1yg33//XePGjXMe+/XXX9WzZ0+FhoaqQ4cOio6O1h9//KGePXs657x69WqNGjWqyPMHBATIYrEUO69Nmzbpuuuu0/Dhw/Xiiy+eds67du3Svffe63Kdq6++WuvWrXMZO3LkSJ199tl69NFHFRER4XLu888/1zXXXONSYnnqGg0LC5N0svTyoosuKpIJJRWs+cDAQF188cVF+lGVFIA7VZUGpYwxeuCBB/TVV19p8eLFiouLO+Nj1q5dK0mKiYmRVJD29+yzz+rQoUOKioqSVPCXktDQULVt29Y5Zt68eS7XWbhwoXr06CFJstls6ty5sxYtWqQBAwZIKkhDW7RokUaPHi1J6ty5s/z8/LRo0SINGjRIUkGaY3x8vPM6p/L395e/f9Fotp+fX7X+oVlateV1oHZjnaK6Y42iJmCdorqrzmt09sp4/XPuBhlTkPHy/MAOGtq1cVVPCx6Qn58vi8UiHx8fl0wdR9mT49yZ3Hh+E/U6O0p7jmSoaWSQYsICPTbnefPmKSkpSXfeeaczEOEwaNAgzZgxQ/fff78mTpyoyy+/XC1atNCwYcOUl5enefPmady4cWrWrJmGDx+uO++8U1OnTlXHjh21d+9eHTp0SEOGDNGoUaM0ZcoUPfTQQxo9erS2bdump556SmPHjpWvb0FI4rLLLtPMmTN17bXXKjw8XE8++aSsVmuR9+zU97bwsbi4OFksFs2bN0/9+vVTYGCgM6OpsJ9//lnXXHONHnroId1www06dOiQpIK4gKMv1ZgxY3TJJZfotddeU//+/fX5559r1apVeu+995zPP2bMGD377LNq1aqV4uLiNGHCBDVs2FADBw50jomPj9exY8e0f/9+5efna/369ZKkFi1aKCQkRBs3btTll1+uvn376h//+IdzLlarVfXr13eZ94wZM9StWzedc845LsfDwsKKHAsODlZkZGSR4zt27NCSJUs0b968YtfoK6+8oquuuko+Pj6aO3euXnzxRc2ZM6fE768+Pj6yWCzFfg8u9ffk0+7N52H33XefCQsLM4sXLzYJCQnOj4yMgm0vd+zYYSZPnmxWrVpldu/ebb755hvTrFkzc/HFFzuvkZeXZ9q3b2/69Olj1q5da+bPn2/q169vxo8f7xyza9cuExQUZB555BGzZcsWM23aNGO1Ws38+fOdYz7/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SREREVq2bJnGjh3r8rx9+/Z1lhPu3r1biYmJ6t27t/N8WFiYunXrpmXLlhGUqqZOlu/xlycAADzNufsePaWAUgs8Ub5njJSdZ1eAX+kSAQCgtih1UGrFihWaPn26pkyZori4ON1xxx26+eabFRER4bHJXXnllRo4cKDi4uK0c+dOPfbYY7rqqqu0bNkyWa1WJSYmKioqyuUxvr6+qlu3rhITEyVJiYmJiouLcxnToEED57mIiAglJiY6jxUeU/gahR9X3JjiZGdnKzs72/l5SkqKJCk3N1e5ubmlfh+qG8fcq/trOJEopbSsmv1+o3xqyjqF92KNoiYoyzpNOZEpFejLukblqenfS62yO/8/NSNb1iCCurVRTV+nqP08sUZLe61SB6W6dOmiLl266LXXXtN//vMfzZgxQ+PGjdM111yjkSNH6oorrij3ZEtSOAOpQ4cOOuecc9S8eXMtXrxYl19+udufz92ef/55TZo0qcjxBQsWKCgoqApm5F4LFy6s6imc1r40SfLV0ZT0Io3r4T2q+zoFWKOoCUqzTo+nWSVZtHr579oX6Pk5AYXV5O+lVotV+cai739cqAj/qp4NPKkmr1N4B3eu0YyMjFKNK3PRf0BAgG655Rbdcsst2r17t0aOHKkrr7xShw8fVt26dcs80bJo1qyZIiMjtWPHDl1++eWKjo7WoUOHXMbk5eXp2LFjzj5U0dHROnjwoMsYx+dnGlP4vONYTEyMy5hOnTqVON/x48e7lAWmpKQoNjZWffr0UWhoaFleerWSm5urhQsX6oorrpCfX/X9a87eoxn614bflG/xVb9+fat6OqhkNWWdwnuxRlETlHad5tuNHlpWcCN7Td/LVS+E36xROWrD99IJa35SSlaeelx4iZrVD67q6cADasM6Re3miTXqqBQ7k3J1oty/f79mzpypmTNnKiMjQ4888kilBFn279+vo0ePOgNDPXr00PHjx7V69Wp17txZkvTTTz/JbrerW7duzjGPP/64cnNznW/uwoULdfbZZztLD3v06KFFixZpzJgxzudauHChevToIUmKi4tTdHS0Fi1a5AxCpaSk6I8//tB9991X4nz9/f3l71/0pszPz69WfDOq7q8jLDhAkpSeky+r1Vc+PjSO9EbVfZ0CrFHUBGdapxkZJ1P0I+oEys+XvjioXDX5e2mgzaqUrDzlGkuN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",
"text/plain": [
"<Figure size 1200x600 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"evolution_compte(df, '200127479') "
]
},
{
"cell_type": "code",
"execution_count": 153,
"id": "bb58a3a7-34c8-4b1b-a31d-7861f9336725",
"metadata": {},
"outputs": [],
"source": [
"# Score : chute\n",
"\n",
"score_accounts_df = score_accounts_df.sort_values([\"account\",\"date\"])\n",
"\n",
"score_accounts_df[\"score_prev\"] = score_accounts_df.groupby(\"account\")[\"score\"].shift(1)\n",
"\n",
"score_accounts_df[\"relative_drop\"] = (\n",
" abs((score_accounts_df[\"score_prev\"] - score_accounts_df[\"score\"]) /\n",
" score_accounts_df[\"score\"]\n",
"))\n"
]
},
{
"cell_type": "code",
"execution_count": 195,
"id": "4415773b-c5e8-44fb-965d-e53f74037e2c",
"metadata": {},
"outputs": [],
"source": [
"ruptures = score_accounts_df[score_accounts_df[\"relative_drop\"] > 0.01]\n",
"ruptures2 = score_accounts_df[score_accounts_df[\"relative_drop\"] > 0.0095]"
]
},
{
"cell_type": "code",
"execution_count": 198,
"id": "3cecbc48-9ee8-4f81-b523-00561be292dc",
"metadata": {},
"outputs": [],
"source": [
"ruptures_recent = (\n",
" ruptures.sort_values(\"date\", ascending=False)\n",
" .groupby(\"account\")\n",
" .first()\n",
" .reset_index()\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 199,
"id": "30d11762-99be-4139-8b94-64f009290fdd",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>account</th>\n",
" <th>date</th>\n",
" <th>score</th>\n",
" <th>score_prev</th>\n",
" <th>relative_drop</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>200127175</td>\n",
" <td>2022-03-31</td>\n",
" <td>0.000147</td>\n",
" <td>0.000144</td>\n",
" <td>0.016491</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>200127183</td>\n",
" <td>2022-07-31</td>\n",
" <td>0.001560</td>\n",
" <td>0.001540</td>\n",
" <td>0.012848</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>200127331</td>\n",
" <td>2024-01-31</td>\n",
" <td>0.000245</td>\n",
" <td>0.000214</td>\n",
" <td>0.127564</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>200127345</td>\n",
" <td>2024-01-31</td>\n",
" <td>0.000216</td>\n",
" <td>0.000188</td>\n",
" <td>0.129203</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>200127356</td>\n",
" <td>2024-12-31</td>\n",
" <td>0.001201</td>\n",
" <td>0.001182</td>\n",
" <td>0.015673</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>200127375</td>\n",
" <td>2023-07-31</td>\n",
" <td>0.001177</td>\n",
" <td>0.001164</td>\n",
" <td>0.011002</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6</th>\n",
" <td>200127443</td>\n",
" <td>2022-02-28</td>\n",
" <td>0.001447</td>\n",
" <td>0.001401</td>\n",
" <td>0.031917</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7</th>\n",
" <td>200127455</td>\n",
" <td>2025-10-31</td>\n",
" <td>0.000171</td>\n",
" <td>0.000169</td>\n",
" <td>0.011677</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>200127479</td>\n",
" <td>2022-10-31</td>\n",
" <td>0.000475</td>\n",
" <td>0.000470</td>\n",
" <td>0.010020</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9</th>\n",
" <td>200127495</td>\n",
" <td>2023-09-30</td>\n",
" <td>0.000189</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10</th>\n",
" <td>200127554</td>\n",
" <td>2025-10-31</td>\n",
" <td>0.000941</td>\n",
" <td>0.000850</td>\n",
" <td>0.096969</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11</th>\n",
" <td>200127579</td>\n",
" <td>2023-05-31</td>\n",
" <td>0.001600</td>\n",
" <td>0.001568</td>\n",
" <td>0.019538</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12</th>\n",
" <td>200127613</td>\n",
" <td>2023-12-31</td>\n",
" <td>0.000679</td>\n",
" <td>0.000470</td>\n",
" <td>0.307807</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13</th>\n",
" <td>200127639</td>\n",
" <td>2023-02-28</td>\n",
" <td>0.000239</td>\n",
" <td>0.000234</td>\n",
" <td>0.020886</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14</th>\n",
" <td>200127731</td>\n",
" <td>2022-06-30</td>\n",
" <td>0.000973</td>\n",
" <td>0.000824</td>\n",
" <td>0.152497</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15</th>\n",
" <td>200127743</td>\n",
" <td>2023-11-30</td>\n",
" <td>0.001549</td>\n",
" <td>0.001521</td>\n",
" <td>0.017847</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>200128473</td>\n",
" <td>2023-12-31</td>\n",
" <td>0.000271</td>\n",
" <td>0.000000</td>\n",
" <td>1.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>200131648</td>\n",
" <td>2022-06-30</td>\n",
" <td>0.000349</td>\n",
" <td>0.000341</td>\n",
" <td>0.021279</td>\n",
" </tr>\n",
" <tr>\n",
" <th>18</th>\n",
" <td>200131736</td>\n",
" <td>2022-09-30</td>\n",
" <td>0.000521</td>\n",
" <td>0.000486</td>\n",
" <td>0.066359</td>\n",
" </tr>\n",
" <tr>\n",
" <th>19</th>\n",
" <td>200137467</td>\n",
" <td>2024-01-31</td>\n",
" <td>0.002019</td>\n",
" <td>0.001998</td>\n",
" <td>0.010172</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20</th>\n",
" <td>200137997</td>\n",
" <td>2025-10-31</td>\n",
" <td>0.004674</td>\n",
" <td>0.004618</td>\n",
" <td>0.012157</td>\n",
" </tr>\n",
" <tr>\n",
" <th>21</th>\n",
" <td>365304</td>\n",
" <td>2025-09-30</td>\n",
" <td>0.000379</td>\n",
" <td>0.000373</td>\n",
" <td>0.015225</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" account date score score_prev relative_drop\n",
"0 200127175 2022-03-31 0.000147 0.000144 0.016491\n",
"1 200127183 2022-07-31 0.001560 0.001540 0.012848\n",
"2 200127331 2024-01-31 0.000245 0.000214 0.127564\n",
"3 200127345 2024-01-31 0.000216 0.000188 0.129203\n",
"4 200127356 2024-12-31 0.001201 0.001182 0.015673\n",
"5 200127375 2023-07-31 0.001177 0.001164 0.011002\n",
"6 200127443 2022-02-28 0.001447 0.001401 0.031917\n",
"7 200127455 2025-10-31 0.000171 0.000169 0.011677\n",
"8 200127479 2022-10-31 0.000475 0.000470 0.010020\n",
"9 200127495 2023-09-30 0.000189 0.000000 1.000000\n",
"10 200127554 2025-10-31 0.000941 0.000850 0.096969\n",
"11 200127579 2023-05-31 0.001600 0.001568 0.019538\n",
"12 200127613 2023-12-31 0.000679 0.000470 0.307807\n",
"13 200127639 2023-02-28 0.000239 0.000234 0.020886\n",
"14 200127731 2022-06-30 0.000973 0.000824 0.152497\n",
"15 200127743 2023-11-30 0.001549 0.001521 0.017847\n",
"16 200128473 2023-12-31 0.000271 0.000000 1.000000\n",
"17 200131648 2022-06-30 0.000349 0.000341 0.021279\n",
"18 200131736 2022-09-30 0.000521 0.000486 0.066359\n",
"19 200137467 2024-01-31 0.002019 0.001998 0.010172\n",
"20 200137997 2025-10-31 0.004674 0.004618 0.012157\n",
"21 365304 2025-09-30 0.000379 0.000373 0.015225"
]
},
"execution_count": 199,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ruptures_recent"
]
},
{
"cell_type": "code",
"execution_count": 158,
"id": "3da97871-c9e3-427b-9c8a-28034fe93cc2",
"metadata": {},
"outputs": [],
"source": [
"ruptures_recent = ruptures_recent.sort_values(\"relative_drop\", ascending=False)"
]
},
{
"cell_type": "code",
"execution_count": 193,
"id": "fed34a3d-c499-412b-83ee-690f22d3b923",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"141"
]
},
"execution_count": 193,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"len(ruptures2)"
]
},
{
"cell_type": "code",
"execution_count": 160,
"id": "72534b99-1125-43cf-a06c-f6958164cc2a",
"metadata": {},
"outputs": [],
"source": [
"# Pivot multi-index pour un accès rapide\n",
"stocks_dict = {}\n",
"for (date, account, isin), value in stocks_agg.items():\n",
" stocks_dict.setdefault(date, {}).setdefault(account, {})[isin] = value\n",
"\n",
"flows_dict = {}\n",
"for (date, account, isin), value in flows_agg.items():\n",
" flows_dict.setdefault(date, {}).setdefault(account, {})[isin] = value"
]
},
{
"cell_type": "code",
"execution_count": 161,
"id": "75c53c57-64ad-4c7a-829a-c77b4afdcc23",
"metadata": {},
"outputs": [],
"source": [
"# Fonction de chirurgie pour un compte avec rupture\n",
"\n",
"def surgery_for_account(account, date_t, date_t1, tol=0.01, alpha=0.01):\n",
" \"\"\"\n",
" Pour un compte donné et une rupture, trouver le code à date_t1\n",
" qui minimise la perte de score.\n",
" \"\"\"\n",
" st_t = stocks_dict.get(date_t, {}).get(account, {})\n",
" fl_t = flows_dict.get(date_t, {}).get(account, {})\n",
" \n",
" # Tous les ISIN impliqués\n",
" all_isins = set(st_t.keys())\n",
"\n",
" if len(all_isins) == 0:\n",
" return account, 1\n",
" \n",
" # Décroissance initiale avec le même code\n",
" st_t1_current = stocks_dict.get(date_t1, {}).get(account, {})\n",
" st_t_s = pd.Series({isin: st_t.get(isin,0) for isin in all_isins})\n",
" st_t1_s = pd.Series({isin: st_t1_current.get(isin,0) for isin in all_isins})\n",
" fl_t_s = pd.Series({isin: fl_t.get(isin,0) for isin in all_isins})\n",
" \n",
" diff = abs(st_t_s - (st_t1_s + fl_t_s))\n",
" denom = np.maximum(st_t_s, st_t1_s + fl_t_s)\n",
" relative_error = np.zeros_like(diff)\n",
" nonzero_mask = denom != 0\n",
" relative_error[nonzero_mask] = diff[nonzero_mask] / denom[nonzero_mask]\n",
" relative_error_clip = np.maximum(relative_error - tol, 0)\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
" best_code = account\n",
" \n",
" # Si rupture > tol, tester tous les codes à t1\n",
" if best_decay < 1 - tol:\n",
" for candidate in stocks_dict.get(date_t1, {}).keys():\n",
" st_c = stocks_dict[date_t1][candidate]\n",
" st_c_s = pd.Series({isin: st_c.get(isin,0) for isin in all_isins})\n",
" diff_c = abs(st_t_s - (st_c_s + fl_t_s))\n",
" denom_c = np.maximum(st_t_s, st_c_s + fl_t_s)\n",
" relative_error_c = np.zeros_like(diff_c)\n",
" nonzero_mask_c = denom_c != 0\n",
" relative_error_c[nonzero_mask_c] = diff_c[nonzero_mask_c] / denom_c[nonzero_mask_c]\n",
" relative_error_clip_c = np.maximum(relative_error_c - tol, 0)\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n",
" \n",
" if decay_c > best_decay:\n",
" best_decay = decay_c\n",
" best_code = candidate\n",
" \n",
" return best_code, best_decay"
]
},
{
"cell_type": "code",
"execution_count": 133,
"id": "ad49f064-7f5e-4b1a-bf5e-b8117182b1c1",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'200127201'"
]
},
"execution_count": 133,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"date_t = pd.Timestamp('2023-07-31')\n",
"date_t1 = pd.Timestamp('2023-06-30')\n",
"date_t0 = pd.Timestamp('2022-09-30')\n",
"\n",
"surgery_for_account('200127375',date_t,date_t1)[0]"
]
},
{
"cell_type": "code",
"execution_count": 90,
"id": "f6b9d749-c0ae-444f-b373-1502a26b9c29",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>account</th>\n",
" <th>score</th>\n",
" <th>score_prev</th>\n",
" <th>relative_drop</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>55842</th>\n",
" <td>2015-01-31</td>\n",
" <td>200127479</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>55411</th>\n",
" <td>2015-02-28</td>\n",
" <td>200127479</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54980</th>\n",
" <td>2015-03-31</td>\n",
" <td>200127479</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54549</th>\n",
" <td>2015-04-30</td>\n",
" <td>200127479</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>54118</th>\n",
" <td>2015-05-31</td>\n",
" <td>200127479</td>\n",
" <td>0.000000</td>\n",
" <td>0.000000</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1967</th>\n",
" <td>2025-06-30</td>\n",
" <td>200127479</td>\n",
" <td>0.000486</td>\n",
" <td>0.000485</td>\n",
" <td>4.028644e-04</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1536</th>\n",
" <td>2025-07-31</td>\n",
" <td>200127479</td>\n",
" <td>0.000486</td>\n",
" <td>0.000486</td>\n",
" <td>8.775873e-07</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1105</th>\n",
" <td>2025-08-31</td>\n",
" <td>200127479</td>\n",
" <td>0.000486</td>\n",
" <td>0.000486</td>\n",
" <td>3.857307e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>674</th>\n",
" <td>2025-09-30</td>\n",
" <td>200127479</td>\n",
" <td>0.000486</td>\n",
" <td>0.000486</td>\n",
" <td>4.271008e-05</td>\n",
" </tr>\n",
" <tr>\n",
" <th>243</th>\n",
" <td>2025-10-31</td>\n",
" <td>200127479</td>\n",
" <td>0.000486</td>\n",
" <td>0.000486</td>\n",
" <td>1.099025e-03</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>130 rows × 5 columns</p>\n",
"</div>"
],
"text/plain": [
" date account score score_prev relative_drop\n",
"55842 2015-01-31 200127479 0.000000 NaN NaN\n",
"55411 2015-02-28 200127479 0.000000 0.000000 NaN\n",
"54980 2015-03-31 200127479 0.000000 0.000000 NaN\n",
"54549 2015-04-30 200127479 0.000000 0.000000 NaN\n",
"54118 2015-05-31 200127479 0.000000 0.000000 NaN\n",
"... ... ... ... ... ...\n",
"1967 2025-06-30 200127479 0.000486 0.000485 4.028644e-04\n",
"1536 2025-07-31 200127479 0.000486 0.000486 8.775873e-07\n",
"1105 2025-08-31 200127479 0.000486 0.000486 3.857307e-05\n",
"674 2025-09-30 200127479 0.000486 0.000486 4.271008e-05\n",
"243 2025-10-31 200127479 0.000486 0.000486 1.099025e-03\n",
"\n",
"[130 rows x 5 columns]"
]
},
"execution_count": 90,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"score_accounts_df[score_accounts_df['account']=='200127479']\n"
]
},
{
"cell_type": "code",
"execution_count": 141,
"id": "8b239ffa-2986-4212-af74-f0d4e1753748",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>date</th>\n",
" <th>account</th>\n",
" <th>score</th>\n",
" <th>score_prev</th>\n",
" <th>relative_drop</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>16957</th>\n",
" <td>2022-07-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001144</td>\n",
" <td>0.001140</td>\n",
" <td>0.003081</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16526</th>\n",
" <td>2022-08-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001144</td>\n",
" <td>0.001144</td>\n",
" <td>0.000107</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16095</th>\n",
" <td>2022-09-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001144</td>\n",
" <td>0.001144</td>\n",
" <td>0.000079</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15664</th>\n",
" <td>2022-10-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001150</td>\n",
" <td>0.001144</td>\n",
" <td>0.004884</td>\n",
" </tr>\n",
" <tr>\n",
" <th>15233</th>\n",
" <td>2022-11-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001150</td>\n",
" <td>0.001150</td>\n",
" <td>0.000032</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14802</th>\n",
" <td>2022-12-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001150</td>\n",
" <td>0.001150</td>\n",
" <td>0.000500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>14371</th>\n",
" <td>2023-01-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001159</td>\n",
" <td>0.001150</td>\n",
" <td>0.007329</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13940</th>\n",
" <td>2023-02-28</td>\n",
" <td>200127375</td>\n",
" <td>0.001161</td>\n",
" <td>0.001159</td>\n",
" <td>0.001574</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13509</th>\n",
" <td>2023-03-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001161</td>\n",
" <td>0.001161</td>\n",
" <td>0.000642</td>\n",
" </tr>\n",
" <tr>\n",
" <th>13078</th>\n",
" <td>2023-04-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001162</td>\n",
" <td>0.001161</td>\n",
" <td>0.000775</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12647</th>\n",
" <td>2023-05-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001164</td>\n",
" <td>0.001162</td>\n",
" <td>0.001258</td>\n",
" </tr>\n",
" <tr>\n",
" <th>12216</th>\n",
" <td>2023-06-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001164</td>\n",
" <td>0.001164</td>\n",
" <td>0.000403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11785</th>\n",
" <td>2023-07-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001177</td>\n",
" <td>0.001164</td>\n",
" <td>0.011002</td>\n",
" </tr>\n",
" <tr>\n",
" <th>11354</th>\n",
" <td>2023-08-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001177</td>\n",
" <td>0.001177</td>\n",
" <td>0.000352</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10923</th>\n",
" <td>2023-09-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001177</td>\n",
" <td>0.001177</td>\n",
" <td>0.000009</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10492</th>\n",
" <td>2023-10-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001179</td>\n",
" <td>0.001177</td>\n",
" <td>0.000907</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10061</th>\n",
" <td>2023-11-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001180</td>\n",
" <td>0.001179</td>\n",
" <td>0.000958</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9630</th>\n",
" <td>2023-12-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001181</td>\n",
" <td>0.001180</td>\n",
" <td>0.001105</td>\n",
" </tr>\n",
" <tr>\n",
" <th>9199</th>\n",
" <td>2024-01-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001188</td>\n",
" <td>0.001181</td>\n",
" <td>0.005881</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8768</th>\n",
" <td>2024-02-29</td>\n",
" <td>200127375</td>\n",
" <td>0.001190</td>\n",
" <td>0.001188</td>\n",
" <td>0.001295</td>\n",
" </tr>\n",
" <tr>\n",
" <th>8337</th>\n",
" <td>2024-03-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001190</td>\n",
" <td>0.001190</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7906</th>\n",
" <td>2024-04-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001194</td>\n",
" <td>0.001190</td>\n",
" <td>0.003455</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7475</th>\n",
" <td>2024-05-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001194</td>\n",
" <td>0.001194</td>\n",
" <td>0.000432</td>\n",
" </tr>\n",
" <tr>\n",
" <th>7044</th>\n",
" <td>2024-06-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001194</td>\n",
" <td>0.001194</td>\n",
" <td>0.000237</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6613</th>\n",
" <td>2024-07-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001197</td>\n",
" <td>0.001194</td>\n",
" <td>0.001903</td>\n",
" </tr>\n",
" <tr>\n",
" <th>6182</th>\n",
" <td>2024-08-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001197</td>\n",
" <td>0.001197</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5751</th>\n",
" <td>2024-09-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001197</td>\n",
" <td>0.001197</td>\n",
" <td>0.000276</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5320</th>\n",
" <td>2024-10-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001199</td>\n",
" <td>0.001197</td>\n",
" <td>0.001539</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4889</th>\n",
" <td>2024-11-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001199</td>\n",
" <td>0.001199</td>\n",
" <td>0.000027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4458</th>\n",
" <td>2024-12-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001199</td>\n",
" <td>0.001199</td>\n",
" <td>0.000091</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4027</th>\n",
" <td>2025-01-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001199</td>\n",
" <td>0.001199</td>\n",
" <td>0.000012</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3596</th>\n",
" <td>2025-02-28</td>\n",
" <td>200127375</td>\n",
" <td>0.001199</td>\n",
" <td>0.001199</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3165</th>\n",
" <td>2025-03-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001200</td>\n",
" <td>0.001199</td>\n",
" <td>0.000799</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2734</th>\n",
" <td>2025-04-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001200</td>\n",
" <td>0.001200</td>\n",
" <td>0.000354</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2303</th>\n",
" <td>2025-05-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001200</td>\n",
" <td>0.001200</td>\n",
" <td>0.000010</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1872</th>\n",
" <td>2025-06-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001201</td>\n",
" <td>0.001200</td>\n",
" <td>0.000264</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1441</th>\n",
" <td>2025-07-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001202</td>\n",
" <td>0.001201</td>\n",
" <td>0.000851</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1010</th>\n",
" <td>2025-08-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001202</td>\n",
" <td>0.001202</td>\n",
" <td>0.000480</td>\n",
" </tr>\n",
" <tr>\n",
" <th>579</th>\n",
" <td>2025-09-30</td>\n",
" <td>200127375</td>\n",
" <td>0.001202</td>\n",
" <td>0.001202</td>\n",
" <td>0.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>148</th>\n",
" <td>2025-10-31</td>\n",
" <td>200127375</td>\n",
" <td>0.001203</td>\n",
" <td>0.001202</td>\n",
" <td>0.000419</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" date account score score_prev relative_drop\n",
"16957 2022-07-31 200127375 0.001144 0.001140 0.003081\n",
"16526 2022-08-31 200127375 0.001144 0.001144 0.000107\n",
"16095 2022-09-30 200127375 0.001144 0.001144 0.000079\n",
"15664 2022-10-31 200127375 0.001150 0.001144 0.004884\n",
"15233 2022-11-30 200127375 0.001150 0.001150 0.000032\n",
"14802 2022-12-31 200127375 0.001150 0.001150 0.000500\n",
"14371 2023-01-31 200127375 0.001159 0.001150 0.007329\n",
"13940 2023-02-28 200127375 0.001161 0.001159 0.001574\n",
"13509 2023-03-31 200127375 0.001161 0.001161 0.000642\n",
"13078 2023-04-30 200127375 0.001162 0.001161 0.000775\n",
"12647 2023-05-31 200127375 0.001164 0.001162 0.001258\n",
"12216 2023-06-30 200127375 0.001164 0.001164 0.000403\n",
"11785 2023-07-31 200127375 0.001177 0.001164 0.011002\n",
"11354 2023-08-31 200127375 0.001177 0.001177 0.000352\n",
"10923 2023-09-30 200127375 0.001177 0.001177 0.000009\n",
"10492 2023-10-31 200127375 0.001179 0.001177 0.000907\n",
"10061 2023-11-30 200127375 0.001180 0.001179 0.000958\n",
"9630 2023-12-31 200127375 0.001181 0.001180 0.001105\n",
"9199 2024-01-31 200127375 0.001188 0.001181 0.005881\n",
"8768 2024-02-29 200127375 0.001190 0.001188 0.001295\n",
"8337 2024-03-31 200127375 0.001190 0.001190 0.000000\n",
"7906 2024-04-30 200127375 0.001194 0.001190 0.003455\n",
"7475 2024-05-31 200127375 0.001194 0.001194 0.000432\n",
"7044 2024-06-30 200127375 0.001194 0.001194 0.000237\n",
"6613 2024-07-31 200127375 0.001197 0.001194 0.001903\n",
"6182 2024-08-31 200127375 0.001197 0.001197 0.000000\n",
"5751 2024-09-30 200127375 0.001197 0.001197 0.000276\n",
"5320 2024-10-31 200127375 0.001199 0.001197 0.001539\n",
"4889 2024-11-30 200127375 0.001199 0.001199 0.000027\n",
"4458 2024-12-31 200127375 0.001199 0.001199 0.000091\n",
"4027 2025-01-31 200127375 0.001199 0.001199 0.000012\n",
"3596 2025-02-28 200127375 0.001199 0.001199 0.000000\n",
"3165 2025-03-31 200127375 0.001200 0.001199 0.000799\n",
"2734 2025-04-30 200127375 0.001200 0.001200 0.000354\n",
"2303 2025-05-31 200127375 0.001200 0.001200 0.000010\n",
"1872 2025-06-30 200127375 0.001201 0.001200 0.000264\n",
"1441 2025-07-31 200127375 0.001202 0.001201 0.000851\n",
"1010 2025-08-31 200127375 0.001202 0.001202 0.000480\n",
"579 2025-09-30 200127375 0.001202 0.001202 0.000000\n",
"148 2025-10-31 200127375 0.001203 0.001202 0.000419"
]
},
"execution_count": 141,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_account.tail(40)"
]
},
{
"cell_type": "code",
"execution_count": 208,
"id": "92467723-1d7a-4eb7-bbf1-acb7ac60ce4a",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n",
"0\n",
"2\n",
"9\n",
"3\n",
"12\n",
"4\n",
"13\n",
"5\n",
"15\n",
"6\n",
"15\n",
"7\n",
"15\n",
"8\n",
"17\n",
"9\n",
"17\n",
"10\n",
"18\n",
"11\n",
"22\n",
"12\n",
"24\n",
"13\n",
"27\n",
"14\n",
"31\n",
"15\n",
"34\n",
"16\n",
"34\n",
"17\n",
"34\n",
"18\n",
"34\n",
"19\n",
"36\n",
"20\n",
"37\n",
"21\n",
"40\n",
"22\n",
"40\n",
"23\n",
"47\n",
"24\n",
"51\n",
"25\n",
"55\n",
"26\n",
"55\n",
"27\n",
"56\n",
"28\n",
"57\n",
"29\n",
"59\n",
"30\n",
"63\n",
"31\n",
"67\n",
"32\n",
"70\n",
"33\n",
"71\n",
"34\n",
"75\n",
"35\n",
"81\n",
"36\n",
"83\n",
"37\n",
"87\n",
"38\n",
"93\n",
"39\n",
"96\n",
"40\n",
"97\n",
"41\n",
"101\n",
"42\n",
"105\n",
"43\n",
"107\n",
"44\n",
"109\n",
"45\n",
"112\n",
"46\n",
"119\n",
"47\n",
"120\n",
"48\n",
"122\n",
"49\n",
"123\n",
"50\n",
"127\n",
"51\n",
"153\n",
"52\n",
"153\n",
"53\n",
"154\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"54\n",
"157\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"55\n",
"158\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"56\n",
"161\n",
"57\n",
"163\n",
"58\n",
"168\n",
"59\n",
"174\n",
"60\n",
"177\n",
"61\n",
"178\n",
"62\n",
"181\n",
"63\n",
"183\n",
"64\n",
"183\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"65\n",
"185\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"66\n",
"190\n",
"67\n",
"193\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"68\n",
"198\n",
"69\n",
"198\n",
"70\n",
"208\n",
"71\n",
"214\n",
"72\n",
"283\n",
"73\n",
"285\n",
"74\n",
"285\n",
"75\n",
"289\n",
"76\n",
"291\n",
"77\n",
"294\n",
"78\n",
"294\n",
"79\n",
"295\n",
"80\n",
"297\n",
"81\n",
"298\n",
"82\n",
"298\n",
"83\n",
"301\n",
"84\n",
"304\n",
"85\n",
"306\n",
"86\n",
"309\n",
"87\n",
"311\n",
"88\n",
"313\n",
"89\n",
"314\n",
"90\n",
"315\n",
"91\n",
"316\n",
"92\n",
"318\n",
"93\n",
"326\n",
"94\n",
"335\n",
"95\n",
"342\n",
"96\n",
"343\n",
"97\n",
"344\n",
"98\n",
"346\n",
"99\n",
"347\n",
"100\n",
"348\n",
"101\n",
"351\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"102\n",
"353\n",
"103\n",
"354\n",
"104\n",
"358\n",
"105\n",
"358\n",
"106\n",
"358\n",
"107\n",
"359\n",
"108\n",
"363\n",
"109\n",
"367\n",
"110\n",
"368\n",
"111\n",
"369\n",
"112\n",
"370\n",
"113\n",
"374\n",
"114\n",
"376\n",
"115\n",
"377\n",
"116\n",
"377\n",
"117\n",
"378\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"118\n",
"380\n",
"119\n",
"381\n",
"120\n",
"381\n",
"121\n",
"381\n",
"122\n",
"382\n",
"123\n",
"383\n",
"124\n",
"384\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n",
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n",
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"125\n",
"387\n",
"126\n",
"387\n",
"127\n",
"388\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"128\n",
"390\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"129\n",
"391\n"
]
}
],
"source": [
"# Chirurgie des scores\n",
"\n",
"score_history_c1 = []\n",
"score_history_accounts_c1 = []\n",
"\n",
"scores = aum_account.set_index('Registrar Account - ID')['weight'].to_dict()\n",
"dic_account1 = {}\n",
"\n",
"score_history_c1.append({\n",
" \"date\": ref_date,\n",
" \"total_score\": sum(scores.values())\n",
"})\n",
"\n",
"for account, score in scores.items():\n",
" score_history_accounts_c1.append({\n",
" \"date\": ref_date,\n",
" \"account\": account,\n",
" \"score\": score\n",
" })\n",
"\n",
"dates_sorted = sorted(df['Centralisation Date'].unique(), reverse=True)\n",
"\n",
"alpha = 0.01\n",
"tol = 0.05\n",
"\n",
"for i in range(1, len(dates_sorted)):\n",
" print(i)\n",
" print(len(dic_account1))\n",
" date_t = dates_sorted[i-1]\n",
" date_t1 = dates_sorted[i]\n",
"\n",
" new_scores = scores.copy()\n",
"\n",
" for account in scores.keys():\n",
" if account not in dic_account1:\n",
" decay = score_decay_vector_max(account, date_t, date_t1, tol=tol, alpha=alpha)\n",
" if decay > 0.991: \n",
" new_scores[account] = scores[account] * decay\n",
" else:\n",
" chirurgie = surgery_for_account(account,date_t,date_t1, tol = 0.009, alpha = 0.01)\n",
" dic_account1[account] = chirurgie[0]\n",
" new_scores[account] = scores[account] * chirurgie[1]\n",
" else: \n",
" account_final = dic_account1[account]\n",
" decay = score_decay_vector_max(account_final, date_t, date_t1, tol=tol, alpha=alpha)\n",
" if decay > 0.991: \n",
" new_scores[account] = scores[account] * decay\n",
" else:\n",
" chirurgie = surgery_for_account(account_final,date_t,date_t1, tol = 0.009, alpha = 0.01)\n",
" dic_account1[account_final] = chirurgie[0]\n",
" new_scores[account] = scores[account] * chirurgie[1]\n",
" scores = new_scores\n",
"\n",
" # score total\n",
" score_history_c1.append({\n",
" \"date\": date_t1,\n",
" \"total_score\": sum(scores.values())\n",
" })\n",
"\n",
" # score par compte\n",
" for account, score in scores.items():\n",
" score_history_accounts_c1.append({\n",
" \"date\": date_t1,\n",
" \"account\": account,\n",
" \"score\": score\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 223,
"id": "40c88aeb-5507-40ec-be36-ff17f7e89b74",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1 0\n",
"2 9\n",
"3 12\n",
"4 13\n",
"5 15\n",
"6 15\n",
"7 15\n",
"8 17\n",
"9 17\n",
"10 18\n",
"11 22\n",
"12 24\n",
"13 27\n",
"14 31\n",
"15 34\n",
"16 34\n",
"17 34\n",
"18 34\n",
"19 36\n",
"20 37\n",
"21 40\n",
"22 40\n",
"23 47\n",
"24 51\n",
"25 55\n",
"26 55\n",
"27 56\n",
"28 57\n",
"29 59\n",
"30 63\n",
"31 67\n",
"32 70\n",
"33 71\n",
"34 75\n",
"35 81\n",
"36 83\n",
"37 87\n",
"38 93\n",
"39 96\n",
"40 97\n",
"41 101\n",
"42 105\n",
"43 108\n",
"44 110\n",
"45 113\n",
"46 120\n",
"47 121\n",
"48 123\n",
"49 124\n",
"50 128\n",
"51 153\n",
"52 153\n",
"53 155\n",
"54 158\n",
"55 159\n",
"56 162\n",
"57 164\n",
"58 170\n",
"59 176\n",
"60 179\n",
"61 180\n",
"62 183\n",
"63 185\n",
"64 185\n",
"65 187\n",
"66 192\n",
"67 195\n",
"68 200\n",
"69 200\n",
"70 210\n",
"71 216\n",
"72 289\n",
"73 291\n",
"74 291\n",
"75 294\n",
"76 296\n",
"77 299\n",
"78 299\n",
"79 301\n",
"80 303\n",
"81 304\n",
"82 304\n",
"83 307\n",
"84 310\n",
"85 312\n",
"86 315\n",
"87 317\n",
"88 319\n",
"89 321\n",
"90 322\n",
"91 323\n",
"92 325\n",
"93 333\n",
"94 346\n",
"95 354\n",
"96 355\n",
"97 357\n",
"98 359\n",
"99 360\n",
"100 361\n",
"101 365\n",
"102 367\n",
"103 368\n",
"104 372\n",
"105 372\n",
"106 372\n",
"107 373\n",
"108 377\n",
"109 381\n",
"110 382\n",
"111 383\n",
"112 384\n",
"113 388\n",
"114 390\n",
"115 391\n",
"116 391\n",
"117 392\n",
"118 394\n",
"119 395\n",
"120 395\n",
"121 396\n",
"122 398\n",
"123 400\n",
"124 401\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n",
"/tmp/ipykernel_3566/3509470181.py:26: RuntimeWarning: Mean of empty slice\n",
" best_decay = max(0, 1 - alpha * np.nanmean(relative_error_clip))\n",
"/tmp/ipykernel_3566/3509470181.py:40: RuntimeWarning: Mean of empty slice\n",
" decay_c = max(0, 1 - alpha * np.nanmean(relative_error_clip_c))\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"125 404\n",
"126 404\n",
"127 405\n",
"128 407\n",
"129 408\n"
]
}
],
"source": [
"score_history_c1 = []\n",
"score_history_accounts_c1 = []\n",
"\n",
"scores = aum_account.set_index('Registrar Account - ID')['weight'].to_dict()\n",
"\n",
"# historique des chirurgies\n",
"dic_account2 = {}\n",
"\n",
"def get_final_account(account):\n",
"\n",
" visited = set()\n",
"\n",
" while account in dic_account2:\n",
"\n",
" if account in visited:\n",
" # cycle détecté\n",
" break\n",
"\n",
" visited.add(account)\n",
" account = dic_account2[account][-1][\"to\"]\n",
"\n",
" return account\n",
"\n",
"\n",
"# score initial\n",
"score_history_c1.append({\n",
" \"date\": ref_date,\n",
" \"total_score\": sum(scores.values())\n",
"})\n",
"\n",
"for account, score in scores.items():\n",
" score_history_accounts_c1.append({\n",
" \"date\": ref_date,\n",
" \"account\": account,\n",
" \"score\": score\n",
" })\n",
"\n",
"\n",
"dates_sorted = sorted(df['Centralisation Date'].unique(), reverse=True)\n",
"\n",
"alpha = 0.01\n",
"tol = 0.05\n",
"\n",
"for i in range(1, len(dates_sorted)):\n",
"\n",
" print(i, len(dic_account2))\n",
"\n",
" date_t = dates_sorted[i-1]\n",
" date_t1 = dates_sorted[i]\n",
"\n",
" new_scores = {}\n",
"\n",
" for account, score in scores.items():\n",
"\n",
" account_final = get_final_account(account)\n",
"\n",
" decay = score_decay_vector_max(account_final, date_t, date_t1, tol=tol, alpha=alpha)\n",
"\n",
" if decay > 0.991:\n",
"\n",
" new_scores[account] = score * decay\n",
"\n",
" else:\n",
"\n",
" new_account, coef = surgery_for_account(\n",
" account_final,\n",
" date_t,\n",
" date_t1,\n",
" tol=0.009,\n",
" alpha=0.01\n",
" )\n",
"\n",
" # enregistrer la chirurgie\n",
" dic_account2.setdefault(account_final, []).append({\n",
" \"date\": date_t1,\n",
" \"to\": new_account\n",
" })\n",
"\n",
" new_scores[account] = score * coef\n",
"\n",
" scores = new_scores\n",
"\n",
" # score total\n",
" score_history_c1.append({\n",
" \"date\": date_t1,\n",
" \"total_score\": sum(scores.values())\n",
" })\n",
"\n",
" # score par compte\n",
" for account, score in scores.items():\n",
" score_history_accounts_c1.append({\n",
" \"date\": date_t1,\n",
" \"account\": account,\n",
" \"score\": score\n",
" })"
]
},
{
"cell_type": "code",
"execution_count": 224,
"id": "66dd1559-6a0c-4c56-8a1b-a93d9ec23ec4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'200137997': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200129910'}],\n",
" '200127554': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200127131'}],\n",
" '200142554': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200137361'}],\n",
" '200138977': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200102125'}],\n",
" '200142564': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200127579'}],\n",
" '200142552': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200096331'}],\n",
" '200142553': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200000566'}],\n",
" '200142569': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200127634'}],\n",
" '200127455': [{'date': Timestamp('2025-09-30 00:00:00'), 'to': '200127348'}],\n",
" '200142524': [{'date': Timestamp('2025-08-31 00:00:00'), 'to': '420207'}],\n",
" '365304': [{'date': Timestamp('2025-08-31 00:00:00'), 'to': '200127703'}],\n",
" '200142514': [{'date': Timestamp('2025-08-31 00:00:00'), 'to': '200002109'}],\n",
" '200142461': [{'date': Timestamp('2025-07-31 00:00:00'), 'to': '200001308'}],\n",
" '200142391': [{'date': Timestamp('2025-06-30 00:00:00'), 'to': '200048611'}],\n",
" '200142410': [{'date': Timestamp('2025-06-30 00:00:00'), 'to': '200142410'}],\n",
" '200142277': [{'date': Timestamp('2025-03-31 00:00:00'), 'to': '200127817'}],\n",
" '200142241': [{'date': Timestamp('2025-03-31 00:00:00'), 'to': '200127706'}],\n",
" '200142168': [{'date': Timestamp('2025-01-31 00:00:00'), 'to': '200139293'}],\n",
" '200138989': [{'date': Timestamp('2024-12-31 00:00:00'), 'to': '200127272'}],\n",
" '200139568': [{'date': Timestamp('2024-12-31 00:00:00'), 'to': '200127359'}],\n",
" '200139526': [{'date': Timestamp('2024-12-31 00:00:00'), 'to': '200096331'}],\n",
" '200139538': [{'date': Timestamp('2024-12-31 00:00:00'), 'to': '366401'}],\n",
" '200127356': [{'date': Timestamp('2024-11-30 00:00:00'), 'to': '200126702'}],\n",
" '200131343': [{'date': Timestamp('2024-11-30 00:00:00'), 'to': '200039765'}],\n",
" '200139398': [{'date': Timestamp('2024-10-31 00:00:00'), 'to': '200130784'}],\n",
" '200002109': [{'date': Timestamp('2024-10-31 00:00:00'), 'to': '200130958'}],\n",
" '200139375': [{'date': Timestamp('2024-10-31 00:00:00'), 'to': '200127432'}],\n",
" '200139346': [{'date': Timestamp('2024-09-30 00:00:00'), 'to': '200051015'}],\n",
" '200139356': [{'date': Timestamp('2024-09-30 00:00:00'), 'to': '200139356'}],\n",
" '200131579': [{'date': Timestamp('2024-09-30 00:00:00'), 'to': '200001873'}],\n",
" '200139333': [{'date': Timestamp('2024-09-30 00:00:00'), 'to': '200131806'}],\n",
" '200139319': [{'date': Timestamp('2024-08-31 00:00:00'), 'to': '200127525'}],\n",
" '200139311': [{'date': Timestamp('2024-08-31 00:00:00'), 'to': '200127613'}],\n",
" '200139293': [{'date': Timestamp('2024-08-31 00:00:00'), 'to': '200139293'},\n",
" {'date': Timestamp('2024-08-31 00:00:00'), 'to': '200139293'}],\n",
" '200139116': [{'date': Timestamp('2024-04-30 00:00:00'), 'to': '200127239'}],\n",
" '200130475': [{'date': Timestamp('2024-04-30 00:00:00'), 'to': '200128473'}],\n",
" '200138954': [{'date': Timestamp('2024-03-31 00:00:00'), 'to': '200138954'},\n",
" {'date': Timestamp('2024-02-29 00:00:00'), 'to': '200138954'}],\n",
" '200127426': [{'date': Timestamp('2024-02-29 00:00:00'), 'to': '200127438'}],\n",
" '200138615': [{'date': Timestamp('2024-02-29 00:00:00'), 'to': '200131795'}],\n",
" '200138950': [{'date': Timestamp('2024-02-29 00:00:00'), 'to': '200137870'}],\n",
" '200131649': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '200001928'}],\n",
" '200137467': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '200131750'}],\n",
" '200127634': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '200127539'}],\n",
" '200130519': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '17892'}],\n",
" '200138892': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '345837'}],\n",
" '200127331': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '414588'}],\n",
" '200127345': [{'date': Timestamp('2023-12-31 00:00:00'), 'to': '200127282'}],\n",
" '200127613': [{'date': Timestamp('2023-11-30 00:00:00'), 'to': '200127463'}],\n",
" '200128473': [{'date': Timestamp('2023-11-30 00:00:00'), 'to': '200130722'}],\n",
" '200138688': [{'date': Timestamp('2023-11-30 00:00:00'), 'to': '200131770'}],\n",
" '200138687': [{'date': Timestamp('2023-11-30 00:00:00'), 'to': '200137891'}],\n",
" '200127743': [{'date': Timestamp('2023-10-31 00:00:00'), 'to': '406408'}],\n",
" '200138625': [{'date': Timestamp('2023-10-31 00:00:00'), 'to': '422691'}],\n",
" '200137824': [{'date': Timestamp('2023-10-31 00:00:00'), 'to': '414317'}],\n",
" '200138664': [{'date': Timestamp('2023-10-31 00:00:00'), 'to': '200127306'}],\n",
" '200127495': [{'date': Timestamp('2023-08-31 00:00:00'), 'to': '412239'}],\n",
" '200137992': [{'date': Timestamp('2023-07-31 00:00:00'), 'to': '200002211'}],\n",
" '200127375': [{'date': Timestamp('2023-06-30 00:00:00'), 'to': '200127201'}],\n",
" '200137951': [{'date': Timestamp('2023-06-30 00:00:00'), 'to': '200137831'}],\n",
" '200002226': [{'date': Timestamp('2023-05-31 00:00:00'), 'to': '200137354'}],\n",
" '200137891': [{'date': Timestamp('2023-05-31 00:00:00'), 'to': '200131770'}],\n",
" '200137928': [{'date': Timestamp('2023-05-31 00:00:00'), 'to': '200090160'}],\n",
" '200137870': [{'date': Timestamp('2023-05-31 00:00:00'), 'to': '200102151'}],\n",
" '200127579': [{'date': Timestamp('2023-04-30 00:00:00'), 'to': '404606'}],\n",
" '200131770': [{'date': Timestamp('2023-04-30 00:00:00'), 'to': '200131150'}],\n",
" '200137851': [{'date': Timestamp('2023-04-30 00:00:00'), 'to': '365500'}],\n",
" '200137831': [{'date': Timestamp('2023-04-30 00:00:00'), 'to': '200126515'}],\n",
" '200137828': [{'date': Timestamp('2023-03-31 00:00:00'), 'to': '200000252'}],\n",
" '200137830': [{'date': Timestamp('2023-03-31 00:00:00'), 'to': '414664'}],\n",
" '200142243': [{'date': Timestamp('2023-03-31 00:00:00'), 'to': '200142243'}],\n",
" '200080485': [{'date': Timestamp('2023-02-28 00:00:00'), 'to': '200000340'}],\n",
" '200058108': [{'date': Timestamp('2023-01-31 00:00:00'), 'to': '312478'}],\n",
" '200137759': [{'date': Timestamp('2023-01-31 00:00:00'), 'to': '200000073'}],\n",
" '200086037': [{'date': Timestamp('2023-01-31 00:00:00'), 'to': '200130949'}],\n",
" '200127639': [{'date': Timestamp('2023-01-31 00:00:00'), 'to': '200127264'}],\n",
" '200137356': [{'date': Timestamp('2022-12-31 00:00:00'), 'to': '200127434'}],\n",
" '200137459': [{'date': Timestamp('2022-12-31 00:00:00'), 'to': '365840'}],\n",
" '200000340': [{'date': Timestamp('2022-12-31 00:00:00'), 'to': '17892'}],\n",
" '200137619': [{'date': Timestamp('2022-12-31 00:00:00'), 'to': '200127364'}],\n",
" '200131477': [{'date': Timestamp('2022-12-31 00:00:00'), 'to': '200127135'}],\n",
" '200130653': [{'date': Timestamp('2022-12-31 00:00:00'), 'to': '422690'}],\n",
" '17892': [{'date': Timestamp('2022-11-30 00:00:00'), 'to': '18872'}],\n",
" '200131648': [{'date': Timestamp('2022-11-30 00:00:00'), 'to': '200130868'}],\n",
" '200137628': [{'date': Timestamp('2022-10-31 00:00:00'), 'to': '419280'}],\n",
" '200137633': [{'date': Timestamp('2022-10-31 00:00:00'), 'to': '200127156'}],\n",
" '200002583': [{'date': Timestamp('2022-10-31 00:00:00'), 'to': '200013447'}],\n",
" '200137477': [{'date': Timestamp('2022-10-31 00:00:00'), 'to': '366551'}],\n",
" '200137360': [{'date': Timestamp('2022-09-30 00:00:00'), 'to': '366107'}],\n",
" '200137361': [{'date': Timestamp('2022-09-30 00:00:00'), 'to': '201113'}],\n",
" '200127479': [{'date': Timestamp('2022-09-30 00:00:00'), 'to': '200127375'}],\n",
" '200137354': [{'date': Timestamp('2022-09-30 00:00:00'), 'to': '200048611'}],\n",
" '200137500': [{'date': Timestamp('2022-09-30 00:00:00'), 'to': '365470'}],\n",
" '200127127': [{'date': Timestamp('2022-09-30 00:00:00'), 'to': '200131534'}],\n",
" '200131175': [{'date': Timestamp('2022-08-31 00:00:00'), 'to': '17892'}],\n",
" '200131736': [{'date': Timestamp('2022-08-31 00:00:00'), 'to': '200130939'}],\n",
" '200136597': [{'date': Timestamp('2022-08-31 00:00:00'), 'to': '200130791'}],\n",
" '200131985': [{'date': Timestamp('2022-07-31 00:00:00'), 'to': '200127613'}],\n",
" '200131795': [{'date': Timestamp('2022-06-30 00:00:00'), 'to': '365452'}],\n",
" '200127183': [{'date': Timestamp('2022-06-30 00:00:00'), 'to': '200127185'}],\n",
" '200131804': [{'date': Timestamp('2022-06-30 00:00:00'), 'to': '200127390'}],\n",
" '200131806': [{'date': Timestamp('2022-06-30 00:00:00'), 'to': '420350'}],\n",
" '200131777': [{'date': Timestamp('2022-05-31 00:00:00'), 'to': '422345'}],\n",
" '200127731': [{'date': Timestamp('2022-05-31 00:00:00'), 'to': '414714'}],\n",
" '200131763': [{'date': Timestamp('2022-05-31 00:00:00'), 'to': '200127706'}],\n",
" '200131771': [{'date': Timestamp('2022-05-31 00:00:00'), 'to': '200127813'}],\n",
" '200131750': [{'date': Timestamp('2022-04-30 00:00:00'), 'to': '365192'}],\n",
" '365192': [{'date': Timestamp('2022-04-30 00:00:00'), 'to': '411515'}],\n",
" '200130818': [{'date': Timestamp('2022-04-30 00:00:00'), 'to': '17892'}],\n",
" '200127443': [{'date': Timestamp('2022-03-31 00:00:00'), 'to': '403612'}],\n",
" '200131651': [{'date': Timestamp('2022-03-31 00:00:00'), 'to': '200073354'}],\n",
" '200130958': [{'date': Timestamp('2022-02-28 00:00:00'), 'to': '17892'}],\n",
" '200137353': [{'date': Timestamp('2022-02-28 00:00:00'), 'to': '412114'}],\n",
" '200127175': [{'date': Timestamp('2022-02-28 00:00:00'), 'to': '200127288'}],\n",
" '200131580': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '200071076'}],\n",
" '200051015': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '365940'}],\n",
" '200131543': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '365940'}],\n",
" '200131542': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '365940'}],\n",
" '200131541': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '365940'}],\n",
" '200131539': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '365940'}],\n",
" '200131540': [{'date': Timestamp('2022-01-31 00:00:00'), 'to': '365940'}],\n",
" '200131534': [{'date': Timestamp('2021-12-31 00:00:00'), 'to': '200127323'}],\n",
" '200131428': [{'date': Timestamp('2021-11-30 00:00:00'), 'to': '200131428'}],\n",
" '200131449': [{'date': Timestamp('2021-11-30 00:00:00'), 'to': '419090'}],\n",
" '200131387': [{'date': Timestamp('2021-10-31 00:00:00'), 'to': '422874'}],\n",
" '200131340': [{'date': Timestamp('2021-09-30 00:00:00'), 'to': '343121'}],\n",
" '200131309': [{'date': Timestamp('2021-09-30 00:00:00'), 'to': '420207'}],\n",
" '200131325': [{'date': Timestamp('2021-09-30 00:00:00'), 'to': '352958'}],\n",
" '200131303': [{'date': Timestamp('2021-09-30 00:00:00'), 'to': '200127496'}],\n",
" '420350': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '67004'}],\n",
" '364929': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '64003'}],\n",
" '418961': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '418992'}],\n",
" '366470': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '62087'}],\n",
" '364999': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '62126'}],\n",
" '422345': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '422367'}],\n",
" '422576': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '67003'}],\n",
" '365242': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '364544'}],\n",
" '366559': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '366582'}],\n",
" '200098279': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200098960'}],\n",
" '365236': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '62013'}],\n",
" '200131294': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '206597'}],\n",
" '200096331': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200096386'}],\n",
" '200096001': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200096387'}],\n",
" '365807': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '365836'}],\n",
" '200126526': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200126647'}],\n",
" '200128854': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200129546'}],\n",
" '366386': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '366392'}],\n",
" '200081805': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200080573'}],\n",
" '200055274': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200057703'}],\n",
" '200059378': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '200054816'}],\n",
" '365328': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '364740'}],\n",
" '200131301': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '365770'}],\n",
" '200102151': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '364918'}],\n",
" '366131': [{'date': Timestamp('2021-08-31 00:00:00'), 'to': '366390'}],\n",
" '200131386': [{'date': Timestamp('2021-06-30 00:00:00'), 'to': '200127343'}],\n",
" '200131150': [{'date': Timestamp('2021-06-30 00:00:00'), 'to': '405903'}],\n",
" '200131082': [{'date': Timestamp('2021-05-31 00:00:00'), 'to': '365172'}],\n",
" '200131081': [{'date': Timestamp('2021-05-31 00:00:00'), 'to': '365172'}],\n",
" '200131052': [{'date': Timestamp('2021-05-31 00:00:00'), 'to': '200129601'}],\n",
" '200131056': [{'date': Timestamp('2021-04-30 00:00:00'), 'to': '307388'}],\n",
" '200127367': [{'date': Timestamp('2021-03-31 00:00:00'), 'to': '62126'}],\n",
" '200130977': [{'date': Timestamp('2021-03-31 00:00:00'), 'to': '200127743'}],\n",
" '200127348': [{'date': Timestamp('2021-03-31 00:00:00'), 'to': '200127282'}],\n",
" '200130906': [{'date': Timestamp('2021-02-28 00:00:00'), 'to': '200130906'}],\n",
" '200130949': [{'date': Timestamp('2021-02-28 00:00:00'), 'to': '405201'}],\n",
" '200130892': [{'date': Timestamp('2021-01-31 00:00:00'), 'to': '365922'}],\n",
" '200130855': [{'date': Timestamp('2021-01-31 00:00:00'), 'to': '200002357'}],\n",
" '200130841': [{'date': Timestamp('2021-01-31 00:00:00'), 'to': '364559'}],\n",
" '200130868': [{'date': Timestamp('2021-01-31 00:00:00'), 'to': '200127549'}],\n",
" '200130903': [{'date': Timestamp('2021-01-31 00:00:00'), 'to': '364977'}],\n",
" '200130722': [{'date': Timestamp('2021-01-31 00:00:00'), 'to': '100000014'}],\n",
" '200130784': [{'date': Timestamp('2020-12-31 00:00:00'), 'to': '364765'}],\n",
" '200130665': [{'date': Timestamp('2020-12-31 00:00:00'), 'to': '200130598'}],\n",
" '200130690': [{'date': Timestamp('2020-12-31 00:00:00'), 'to': '200127638'}],\n",
" '200130791': [{'date': Timestamp('2020-12-31 00:00:00'), 'to': '200087633'}],\n",
" '200130507': [{'date': Timestamp('2020-12-31 00:00:00'), 'to': '422691'}],\n",
" '200130842': [{'date': Timestamp('2020-12-31 00:00:00'), 'to': '200130426'}],\n",
" '200130688': [{'date': Timestamp('2020-11-30 00:00:00'), 'to': '13463'}],\n",
" '200130684': [{'date': Timestamp('2020-11-30 00:00:00'), 'to': '365972'}],\n",
" '200130719': [{'date': Timestamp('2020-11-30 00:00:00'), 'to': '405523'}],\n",
" '200130697': [{'date': Timestamp('2020-10-31 00:00:00'), 'to': '366506'}],\n",
" '200127360': [{'date': Timestamp('2020-09-30 00:00:00'), 'to': '200127430'}],\n",
" '200130549': [{'date': Timestamp('2020-09-30 00:00:00'), 'to': '200126372'}],\n",
" '200130528': [{'date': Timestamp('2020-09-30 00:00:00'), 'to': '200130503'}],\n",
" '200130527': [{'date': Timestamp('2020-08-31 00:00:00'), 'to': '200000212'}],\n",
" '200130503': [{'date': Timestamp('2020-08-31 00:00:00'), 'to': '365445'}],\n",
" '200127996': [{'date': Timestamp('2020-06-30 00:00:00'), 'to': '200127262'}],\n",
" '200130426': [{'date': Timestamp('2020-06-30 00:00:00'), 'to': '200075905'}],\n",
" '200129895': [{'date': Timestamp('2020-05-31 00:00:00'), 'to': '420239'}],\n",
" '200129601': [{'date': Timestamp('2020-05-31 00:00:00'), 'to': '200128509'}],\n",
" '200130500': [{'date': Timestamp('2020-05-31 00:00:00'), 'to': '366007'}],\n",
" '200129716': [{'date': Timestamp('2020-05-31 00:00:00'), 'to': '200127608'}],\n",
" '200129811': [{'date': Timestamp('2020-05-31 00:00:00'), 'to': '200127809'}],\n",
" '200128873': [{'date': Timestamp('2020-04-30 00:00:00'), 'to': '362820'}],\n",
" '200128363': [{'date': Timestamp('2020-04-30 00:00:00'), 'to': '200127607'}],\n",
" '200129546': [{'date': Timestamp('2020-04-30 00:00:00'), 'to': '419679'}],\n",
" '200127416': [{'date': Timestamp('2020-03-31 00:00:00'), 'to': '200127420'}],\n",
" '200127440': [{'date': Timestamp('2020-03-31 00:00:00'), 'to': '200127438'}],\n",
" '200128481': [{'date': Timestamp('2020-03-31 00:00:00'), 'to': '292594'}],\n",
" '200127270': [{'date': Timestamp('2020-03-31 00:00:00'), 'to': '200127268'}],\n",
" '200127903': [{'date': Timestamp('2020-03-31 00:00:00'), 'to': '200127438'}],\n",
" '200127809': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '200127415'}],\n",
" '200127811': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '200127553'}],\n",
" '200127810': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '200127415'}],\n",
" '200127815': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '200127552'}],\n",
" '200130598': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '307388'}],\n",
" '200127817': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '200127272'}],\n",
" '200127813': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '365096'}],\n",
" '200127816': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '364977'}],\n",
" '200127812': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '365512'}],\n",
" '200130743': [{'date': Timestamp('2020-01-31 00:00:00'), 'to': '419312'}],\n",
" '200127525': [{'date': Timestamp('2019-12-31 00:00:00'), 'to': '200127420'}],\n",
" '200127764': [{'date': Timestamp('2019-12-31 00:00:00'), 'to': '200001621'}],\n",
" '200127131': [{'date': Timestamp('2019-12-31 00:00:00'), 'to': '100000014'}],\n",
" '200130939': [{'date': Timestamp('2019-12-31 00:00:00'), 'to': '200127457'}],\n",
" '200127803': [{'date': Timestamp('2019-12-31 00:00:00'), 'to': '366110'}],\n",
" '200127733': [{'date': Timestamp('2019-12-31 00:00:00'), 'to': '414523'}],\n",
" '200127454': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '416348'}],\n",
" '200127415': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200089945'}],\n",
" '200127316': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '405760'}],\n",
" '200127531': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '417622'}],\n",
" '200127553': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '406681'}],\n",
" '200127552': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '422824'}],\n",
" '200127446': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200075932'}],\n",
" '200127438': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '406158'}],\n",
" '200129910': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200101646'}],\n",
" '200127430': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090334'}],\n",
" '422824': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '100000014'}],\n",
" '200127605': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200093152'}],\n",
" '200127186': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126350'}],\n",
" '200127362': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090057'}],\n",
" '200127433': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126539'}],\n",
" '200127435': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200097937'}],\n",
" '200127516': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200093148'}],\n",
" '200127185': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200098303'}],\n",
" '200127272': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200038383'}],\n",
" '200127539': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '420049'}],\n",
" '200127364': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090056'}],\n",
" '200127268': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '405303'}],\n",
" '200127201': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '419312'}],\n",
" '200127404': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '420330'}],\n",
" '200127401': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '416630'}],\n",
" '200127484': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '406048'}],\n",
" '200127187': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '419288'}],\n",
" '200127706': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200013138'}],\n",
" '200127463': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '406308'}],\n",
" '200127638': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200091313'}],\n",
" '200127390': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200002259'}],\n",
" '200127191': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200000551'}],\n",
" '200127135': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '405297'}],\n",
" '200127578': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200093153'}],\n",
" '200127306': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090347'}],\n",
" '200127496': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '417088'}],\n",
" '200127376': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200071075'}],\n",
" '200127156': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200001372'}],\n",
" '200127644': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '422778'}],\n",
" '200127419': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090312'}],\n",
" '200090056': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '100000014'}],\n",
" '200127371': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '364907'}],\n",
" '200127555': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200102163'}],\n",
" '200127262': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090997'}],\n",
" '200127457': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200101710'}],\n",
" '200127403': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200102138'}],\n",
" '200127359': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126774'}],\n",
" '200127428': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090331'}],\n",
" '200127603': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126545'}],\n",
" '200127901': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200127902'}],\n",
" '200127627': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '366419'}],\n",
" '200127798': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090056'}],\n",
" '200127556': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200102219'}],\n",
" '200127607': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126545'}],\n",
" '200127308': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090349'}],\n",
" '200127323': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200014222'}],\n",
" '200127448': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200101980'}],\n",
" '200127383': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126372'}],\n",
" '200127598': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200102239'}],\n",
" '200127417': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200093149'}],\n",
" '200127190': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200000147'}],\n",
" '200127549': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126545'}],\n",
" '200127174': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090288'}],\n",
" '200127587': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200089998'}],\n",
" '200127264': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200090344'}],\n",
" '200127614': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '406463'}],\n",
" '200127282': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200101735'}],\n",
" '200127608': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200126545'}],\n",
" '200127447': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200024003'}],\n",
" '200127478': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200002221'}],\n",
" '200127239': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200101735'}],\n",
" '200127583': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200043661'}],\n",
" '200127157': [{'date': Timestamp('2019-11-30 00:00:00'), 'to': '200001372'}],\n",
" '200074669': [{'date': Timestamp('2019-10-31 00:00:00'), 'to': '200056069'}],\n",
" '200127381': [{'date': Timestamp('2019-10-31 00:00:00'), 'to': '200091482'}],\n",
" '200126539': [{'date': Timestamp('2019-08-31 00:00:00'), 'to': '420483'}],\n",
" '200102239': [{'date': Timestamp('2019-08-31 00:00:00'), 'to': '345837'}],\n",
" '200126717': [{'date': Timestamp('2019-08-31 00:00:00'), 'to': '420259'}],\n",
" '200126702': [{'date': Timestamp('2019-07-31 00:00:00'), 'to': '200066763'}],\n",
" '200127902': [{'date': Timestamp('2019-07-31 00:00:00'), 'to': '405303'}],\n",
" '200126515': [{'date': Timestamp('2019-06-30 00:00:00'), 'to': '200001527'}],\n",
" '200126545': [{'date': Timestamp('2019-06-30 00:00:00'), 'to': '200126545'},\n",
" {'date': Timestamp('2019-06-30 00:00:00'), 'to': '200126545'},\n",
" {'date': Timestamp('2019-06-30 00:00:00'), 'to': '200126545'},\n",
" {'date': Timestamp('2019-06-30 00:00:00'), 'to': '200126545'}],\n",
" '200126647': [{'date': Timestamp('2019-06-30 00:00:00'), 'to': '200094123'}],\n",
" '200126380': [{'date': Timestamp('2019-04-30 00:00:00'), 'to': '200126328'}],\n",
" '200126774': [{'date': Timestamp('2019-04-30 00:00:00'), 'to': '422824'}],\n",
" '200039998': [{'date': Timestamp('2019-03-31 00:00:00'), 'to': '200041957'}],\n",
" '200126372': [{'date': Timestamp('2019-03-31 00:00:00'), 'to': '249690'}],\n",
" '200126328': [{'date': Timestamp('2019-02-28 00:00:00'), 'to': '200000517'}],\n",
" '200126350': [{'date': Timestamp('2018-12-31 00:00:00'), 'to': '200090070'}],\n",
" '200095646': [{'date': Timestamp('2018-12-31 00:00:00'), 'to': '100000014'}],\n",
" '200102197': [{'date': Timestamp('2018-12-31 00:00:00'), 'to': '364928'}],\n",
" '200102219': [{'date': Timestamp('2018-11-30 00:00:00'), 'to': '419807'}],\n",
" '200104338': [{'date': Timestamp('2018-11-30 00:00:00'), 'to': '415181'}],\n",
" '200085396': [{'date': Timestamp('2018-11-30 00:00:00'), 'to': '100000014'}],\n",
" '200102238': [{'date': Timestamp('2018-10-31 00:00:00'), 'to': '200001747'}],\n",
" '200102220': [{'date': Timestamp('2018-10-31 00:00:00'), 'to': '419098'}],\n",
" '200102190': [{'date': Timestamp('2018-09-30 00:00:00'), 'to': '200045720'}],\n",
" '200102163': [{'date': Timestamp('2018-09-30 00:00:00'), 'to': '419288'}],\n",
" '200102184': [{'date': Timestamp('2018-09-30 00:00:00'), 'to': '200126264'}],\n",
" '200102125': [{'date': Timestamp('2018-08-31 00:00:00'), 'to': '200038056'}],\n",
" '200102138': [{'date': Timestamp('2018-08-31 00:00:00'), 'to': '419679'}],\n",
" '200094172': [{'date': Timestamp('2018-07-31 00:00:00'), 'to': '100000014'}],\n",
" '200098960': [{'date': Timestamp('2018-07-31 00:00:00'), 'to': '100000014'}],\n",
" '200090997': [{'date': Timestamp('2018-06-30 00:00:00'), 'to': '405310'}],\n",
" '200101980': [{'date': Timestamp('2018-06-30 00:00:00'), 'to': '200091653'}],\n",
" '200093153': [{'date': Timestamp('2018-05-31 00:00:00'), 'to': '343121'}],\n",
" '200091288': [{'date': Timestamp('2018-04-30 00:00:00'), 'to': '365500'}],\n",
" '200097937': [{'date': Timestamp('2018-03-31 00:00:00'), 'to': '405633'}],\n",
" '200096002': [{'date': Timestamp('2018-03-31 00:00:00'), 'to': '200072907'}],\n",
" '200093152': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '420331'}],\n",
" '200090057': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '200090075'}],\n",
" '200096386': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '366095'}],\n",
" '200096387': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '67094'}],\n",
" '200090331': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '419848'}],\n",
" '200094123': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '422711'}],\n",
" '200094954': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '405932'}],\n",
" '366390': [{'date': Timestamp('2018-02-28 00:00:00'), 'to': '420352'}],\n",
" '200090334': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '406161'}],\n",
" '200090070': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '405798'}],\n",
" '200090075': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '405938'}],\n",
" '200091313': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '200002025'}],\n",
" '200090347': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '406169'}],\n",
" '200090312': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '417952'}],\n",
" '200092081': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '364697'}],\n",
" '200090349': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '406308'}],\n",
" '200091653': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '417937'}],\n",
" '200093331': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '200001302'}],\n",
" '200093149': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '422309'}],\n",
" '200091482': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '200002258'}],\n",
" '200089998': [{'date': Timestamp('2018-01-31 00:00:00'), 'to': '200001363'}],\n",
" '200086548': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '419750'}],\n",
" '200093148': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '406228'}],\n",
" '200098303': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '364740'}],\n",
" '200126264': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '365972'}],\n",
" '200090160': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '200022996'}],\n",
" '200089406': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '200002429'}],\n",
" '200090288': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '345837'}],\n",
" '200101735': [{'date': Timestamp('2017-12-31 00:00:00'), 'to': '365972'}],\n",
" '200086654': [{'date': Timestamp('2017-11-30 00:00:00'), 'to': '419801'}],\n",
" '200085615': [{'date': Timestamp('2017-10-31 00:00:00'), 'to': '365903'}],\n",
" '200002258': [{'date': Timestamp('2017-10-31 00:00:00'), 'to': '100000014'}],\n",
" '200083248': [{'date': Timestamp('2017-09-30 00:00:00'), 'to': '366385'}],\n",
" '200080573': [{'date': Timestamp('2017-09-30 00:00:00'), 'to': '365861'}],\n",
" '200079169': [{'date': Timestamp('2017-08-31 00:00:00'), 'to': '200001568'}],\n",
" '200075932': [{'date': Timestamp('2017-07-31 00:00:00'), 'to': '365865'}],\n",
" '200073354': [{'date': Timestamp('2017-06-30 00:00:00'), 'to': '366439'}],\n",
" '200073355': [{'date': Timestamp('2017-06-30 00:00:00'), 'to': '366398'}],\n",
" '200072907': [{'date': Timestamp('2017-06-30 00:00:00'), 'to': '200000147'}],\n",
" '200075905': [{'date': Timestamp('2017-06-30 00:00:00'), 'to': '365218'}],\n",
" '200071076': [{'date': Timestamp('2017-05-31 00:00:00'), 'to': '419164'}],\n",
" '200071075': [{'date': Timestamp('2017-05-31 00:00:00'), 'to': '419171'}],\n",
" '200069640': [{'date': Timestamp('2017-04-30 00:00:00'), 'to': '414306'}],\n",
" '200066667': [{'date': Timestamp('2017-03-31 00:00:00'), 'to': '36765'}],\n",
" '200066763': [{'date': Timestamp('2017-03-31 00:00:00'), 'to': '419403'}],\n",
" '200067096': [{'date': Timestamp('2017-03-31 00:00:00'), 'to': '200041370'}],\n",
" '200066455': [{'date': Timestamp('2017-03-31 00:00:00'), 'to': '348454'}],\n",
" '200059025': [{'date': Timestamp('2016-12-31 00:00:00'), 'to': '420134'}],\n",
" '200056069': [{'date': Timestamp('2016-11-30 00:00:00'), 'to': '366586'}],\n",
" '200057703': [{'date': Timestamp('2016-11-30 00:00:00'), 'to': '348456'}],\n",
" '200055990': [{'date': Timestamp('2016-11-30 00:00:00'), 'to': '418325'}],\n",
" '200054637': [{'date': Timestamp('2016-11-30 00:00:00'), 'to': '419206'}],\n",
" '200052208': [{'date': Timestamp('2016-10-31 00:00:00'), 'to': '419786'}],\n",
" '200054816': [{'date': Timestamp('2016-10-31 00:00:00'), 'to': '364743'}],\n",
" '200052562': [{'date': Timestamp('2016-10-31 00:00:00'), 'to': '422715'}],\n",
" '365470': [{'date': Timestamp('2016-10-31 00:00:00'), 'to': '333872'}],\n",
" '200002147': [{'date': Timestamp('2016-09-30 00:00:00'), 'to': '17892'}],\n",
" '200048611': [{'date': Timestamp('2016-08-31 00:00:00'), 'to': '200002242'}],\n",
" '200045720': [{'date': Timestamp('2016-07-31 00:00:00'), 'to': '419484'}],\n",
" '200006534': [{'date': Timestamp('2016-06-30 00:00:00'), 'to': '366005'}],\n",
" '200041370': [{'date': Timestamp('2016-06-30 00:00:00'), 'to': '419280'}],\n",
" '200041957': [{'date': Timestamp('2016-06-30 00:00:00'), 'to': '200000334'}],\n",
" '200043690': [{'date': Timestamp('2016-06-30 00:00:00'), 'to': '62013'}],\n",
" '200002375': [{'date': Timestamp('2016-05-31 00:00:00'), 'to': '100000014'}],\n",
" '200039765': [{'date': Timestamp('2016-05-31 00:00:00'), 'to': '200001382'}],\n",
" '200038056': [{'date': Timestamp('2016-04-30 00:00:00'), 'to': '200000069'}],\n",
" '200034372': [{'date': Timestamp('2016-02-29 00:00:00'), 'to': '364738'}],\n",
" '200021958': [{'date': Timestamp('2016-01-31 00:00:00'), 'to': '419254'}],\n",
" '200032028': [{'date': Timestamp('2016-01-31 00:00:00'), 'to': '200001959'}],\n",
" '200038383': [{'date': Timestamp('2015-12-31 00:00:00'), 'to': '411565'}],\n",
" '200022996': [{'date': Timestamp('2015-10-31 00:00:00'), 'to': '200002169'}],\n",
" '200019940': [{'date': Timestamp('2015-09-30 00:00:00'), 'to': '366471'}],\n",
" '200014222': [{'date': Timestamp('2015-09-30 00:00:00'), 'to': '422378'}],\n",
" '200013138': [{'date': Timestamp('2015-08-31 00:00:00'), 'to': '100000014'}],\n",
" '200017561': [{'date': Timestamp('2015-08-31 00:00:00'), 'to': '364813'}],\n",
" '200013447': [{'date': Timestamp('2015-07-31 00:00:00'), 'to': '422444'}],\n",
" '200013231': [{'date': Timestamp('2015-06-30 00:00:00'), 'to': '366377'}],\n",
" '200000566': [{'date': Timestamp('2015-06-30 00:00:00'), 'to': '200000566'},\n",
" {'date': Timestamp('2015-06-30 00:00:00'), 'to': '200000566'}],\n",
" '200012832': [{'date': Timestamp('2015-06-30 00:00:00'), 'to': '200001728'}],\n",
" '200024003': [{'date': Timestamp('2015-04-30 00:00:00'), 'to': '364743'}],\n",
" '200006349': [{'date': Timestamp('2015-03-31 00:00:00'), 'to': '200002054'}],\n",
" '200043661': [{'date': Timestamp('2015-03-31 00:00:00'), 'to': '403420'}],\n",
" '200002429': [{'date': Timestamp('2015-02-28 00:00:00'), 'to': '362037'}],\n",
" '200002389': [{'date': Timestamp('2015-01-31 00:00:00'), 'to': '365088'}]}"
]
},
"execution_count": 224,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"dic_account2"
]
},
{
"cell_type": "code",
"execution_count": 228,
"id": "c28a73b9-9302-4672-9ca3-1045540c3d4a",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"events = []\n",
"\n",
"for account, hist in dic_account2.items():\n",
" for h in hist:\n",
" events.append({\n",
" \"from_account\": account,\n",
" \"to_account\": h[\"to\"],\n",
" \"date\": h[\"date\"]\n",
" })\n",
"\n",
"correction_code_louis = pd.DataFrame(events)"
]
},
{
"cell_type": "code",
"execution_count": 229,
"id": "4b73b8c5-df66-4346-951e-2552459a23ef",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>from_account</th>\n",
" <th>to_account</th>\n",
" <th>date</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>200137997</td>\n",
" <td>200129910</td>\n",
" <td>2025-09-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>200127554</td>\n",
" <td>200127131</td>\n",
" <td>2025-09-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>200142554</td>\n",
" <td>200137361</td>\n",
" <td>2025-09-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>200138977</td>\n",
" <td>200102125</td>\n",
" <td>2025-09-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>200142564</td>\n",
" <td>200127579</td>\n",
" <td>2025-09-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>410</th>\n",
" <td>200024003</td>\n",
" <td>364743</td>\n",
" <td>2015-04-30</td>\n",
" </tr>\n",
" <tr>\n",
" <th>411</th>\n",
" <td>200006349</td>\n",
" <td>200002054</td>\n",
" <td>2015-03-31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>412</th>\n",
" <td>200043661</td>\n",
" <td>403420</td>\n",
" <td>2015-03-31</td>\n",
" </tr>\n",
" <tr>\n",
" <th>413</th>\n",
" <td>200002429</td>\n",
" <td>362037</td>\n",
" <td>2015-02-28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>414</th>\n",
" <td>200002389</td>\n",
" <td>365088</td>\n",
" <td>2015-01-31</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>415 rows × 3 columns</p>\n",
"</div>"
],
"text/plain": [
" from_account to_account date\n",
"0 200137997 200129910 2025-09-30\n",
"1 200127554 200127131 2025-09-30\n",
"2 200142554 200137361 2025-09-30\n",
"3 200138977 200102125 2025-09-30\n",
"4 200142564 200127579 2025-09-30\n",
".. ... ... ...\n",
"410 200024003 364743 2015-04-30\n",
"411 200006349 200002054 2015-03-31\n",
"412 200043661 403420 2015-03-31\n",
"413 200002429 362037 2015-02-28\n",
"414 200002389 365088 2015-01-31\n",
"\n",
"[415 rows x 3 columns]"
]
},
"execution_count": 229,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"correction_code_louis"
]
},
{
"cell_type": "code",
"execution_count": 230,
"id": "c9e9ea56-310a-40e5-86bd-6045eadadcb5",
"metadata": {},
"outputs": [],
"source": [
"local_path = \"/tmp/correction_code_louis.csv\"\n",
"correction_code_louis.to_csv(local_path, index=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "dae61176-6ee7-4a57-8903-dc74cfeb7f56",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.12"
}
},
"nbformat": 4,
"nbformat_minor": 5
}