{ "cells": [ { "cell_type": "markdown", "id": "a9037fe3-296e-4a21-b1e5-4763090ef36f", "metadata": {}, "source": [ "# Migration de comptes" ] }, { "cell_type": "code", "execution_count": 25, "id": "fe2bc65b-0c8a-4335-83e9-f339c82f33a1", "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": 7, "id": "e5739d0e-e4e2-473f-8561-89278a8105a3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | date | \n", "old_account | \n", "new_account | \n", "value | \n", "
|---|---|---|---|---|
| 0 | \n", "2019-12-31 | \n", "406533 | \n", "200127202 | \n", "7.184443e+05 | \n", "
| 3 | \n", "2016-06-30 | \n", "402699 | \n", "200038850 | \n", "2.237343e+05 | \n", "
| 4 | \n", "2015-07-31 | \n", "402703 | \n", "200013353 | \n", "8.888675e+04 | \n", "
| 5 | \n", "2019-12-31 | \n", "404813 | \n", "200127636 | \n", "1.608203e+05 | \n", "
| 7 | \n", "2015-03-31 | \n", "406311 | \n", "200001401 | \n", "6.326882e+04 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 5516 | \n", "2019-12-31 | \n", "200093279 | \n", "200127383 | \n", "1.518258e+07 | \n", "
| 5517 | \n", "2016-11-30 | \n", "200040897 | \n", "200054018 | \n", "4.775338e+04 | \n", "
| 5519 | \n", "2016-08-31 | \n", "200042389 | \n", "200044787 | \n", "2.668920e+04 | \n", "
| 5521 | \n", "2016-11-30 | \n", "200048502 | \n", "200054019 | \n", "3.549803e+04 | \n", "
| 5524 | \n", "2018-12-31 | \n", "200090792 | \n", "200117574 | \n", "2.123958e+05 | \n", "
548 rows × 4 columns
\n", "| \n", " | date | \n", "old_account | \n", "new_account | \n", "value | \n", "
|---|---|---|---|---|
| 0 | \n", "2019-12-31 | \n", "406533 | \n", "200127202 | \n", "7.184443e+05 | \n", "
| 1 | \n", "2016-06-30 | \n", "402699 | \n", "200038850 | \n", "2.237343e+05 | \n", "
| 2 | \n", "2015-07-31 | \n", "402703 | \n", "200013353 | \n", "8.888675e+04 | \n", "
| 3 | \n", "2019-12-31 | \n", "404813 | \n", "200127636 | \n", "1.608203e+05 | \n", "
| 4 | \n", "2015-03-31 | \n", "406311 | \n", "200001401 | \n", "6.326882e+04 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 438 | \n", "2019-12-31 | \n", "200093279 | \n", "200127383 | \n", "1.518258e+07 | \n", "
| 439 | \n", "2016-11-30 | \n", "200040897 | \n", "200054018 | \n", "4.775338e+04 | \n", "
| 440 | \n", "2016-08-31 | \n", "200042389 | \n", "200044787 | \n", "2.668920e+04 | \n", "
| 441 | \n", "2016-11-30 | \n", "200048502 | \n", "200054019 | \n", "3.549803e+04 | \n", "
| 442 | \n", "2018-12-31 | \n", "200090792 | \n", "200117574 | \n", "2.123958e+05 | \n", "
443 rows × 4 columns
\n", "| \n", " | Agreement - Code | \n", "Company - Id | \n", "Company - Ultimate Parent Id | \n", "Registrar Account - ID | \n", "Registrar Account - Region | \n", "RegistrarAccount - Country | \n", "Product - Asset Type | \n", "Product - Strategy | \n", "Product - Legal Status | \n", "Product - Is Dedie ? | \n", "Product - Fund | \n", "Product - Shareclass Type | \n", "Product - Shareclass Currency | \n", "Product - Isin | \n", "Centralisation Date | \n", "Quantity - AUM | \n", "Value - AUM CCY | \n", "Value - AUM € | \n", "account_clustered | \n", "Account_Clustered | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "003 | \n", "166 | \n", "166 | \n", "200000647 | \n", "France | \n", "France | \n", "Diversified | \n", "Patrimoine | \n", "FCP | \n", "NO | \n", "Carmignac Patrimoine | \n", "A | \n", "EUR | \n", "FR0010135103 | \n", "2015-03-31 | \n", "35.368 | \n", "2.464867e+04 | \n", "2.464867e+04 | \n", "200000647 | \n", "200000647 | \n", "
| 1 | \n", "003 | \n", "166 | \n", "166 | \n", "200000647 | \n", "France | \n", "France | \n", "Diversified | \n", "Patrimoine | \n", "FCP | \n", "NO | \n", "Carmignac Patrimoine | \n", "A | \n", "EUR | \n", "FR0010135103 | \n", "2015-11-30 | \n", "35.368 | \n", "2.241306e+04 | \n", "2.241306e+04 | \n", "200000647 | \n", "200000647 | \n", "
| 2 | \n", "003 | \n", "166 | \n", "166 | \n", "200000647 | \n", "France | \n", "France | \n", "Diversified | \n", "Patrimoine | \n", "FCP | \n", "NO | \n", "Carmignac Patrimoine | \n", "A | \n", "EUR | \n", "FR0010135103 | \n", "2015-12-31 | \n", "35.368 | \n", "2.205124e+04 | \n", "2.205124e+04 | \n", "200000647 | \n", "200000647 | \n", "
| 3 | \n", "003 | \n", "166 | \n", "166 | \n", "200000647 | \n", "France | \n", "France | \n", "Diversified | \n", "Patrimoine | \n", "FCP | \n", "NO | \n", "Carmignac Patrimoine | \n", "A | \n", "EUR | \n", "FR0010135103 | \n", "2016-03-31 | \n", "35.368 | \n", "2.162612e+04 | \n", "2.162612e+04 | \n", "200000647 | \n", "200000647 | \n", "
| 4 | \n", "003 | \n", "166 | \n", "166 | \n", "200000647 | \n", "France | \n", "France | \n", "Diversified | \n", "Patrimoine | \n", "FCP | \n", "NO | \n", "Carmignac Patrimoine | \n", "A | \n", "EUR | \n", "FR0010135103 | \n", "2016-11-30 | \n", "35.368 | \n", "2.248945e+04 | \n", "2.248945e+04 | \n", "200000647 | \n", "200000647 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 4880292 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Switzerland | \n", "Switzerland | \n", "Fixed Income | \n", "Sécurité | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Sécurité | \n", "AW & AW-R | \n", "EUR | \n", "LU1299306321 | \n", "2020-02-29 | \n", "26801.000 | \n", "2.740670e+06 | \n", "2.740670e+06 | \n", "Private Client | \n", "Private Client | \n", "
| 4880293 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Switzerland | \n", "Switzerland | \n", "Fixed Income | \n", "Sécurité | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Sécurité | \n", "AW & AW-R | \n", "EUR | \n", "LU1299306321 | \n", "2020-06-30 | \n", "3099.000 | \n", "3.122862e+05 | \n", "3.122862e+05 | \n", "Private Client | \n", "Private Client | \n", "
| 4880294 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Switzerland | \n", "Switzerland | \n", "Fixed Income | \n", "Sécurité | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Sécurité | \n", "AW & AW-R | \n", "EUR | \n", "LU1299306321 | \n", "2020-10-31 | \n", "3099.000 | \n", "3.184222e+05 | \n", "3.184222e+05 | \n", "Private Client | \n", "Private Client | \n", "
| 4880295 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Switzerland | \n", "Switzerland | \n", "Fixed Income | \n", "Sécurité | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Sécurité | \n", "AW & AW-R | \n", "EUR | \n", "LU1299306321 | \n", "2021-07-31 | \n", "2835.000 | \n", "2.976183e+05 | \n", "2.976183e+05 | \n", "Private Client | \n", "Private Client | \n", "
| 4880296 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Switzerland | \n", "Switzerland | \n", "Fixed Income | \n", "Sécurité | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Sécurité | \n", "FW & FW-R | \n", "EUR | \n", "LU1792391911 | \n", "2020-07-31 | \n", "2916.394 | \n", "2.874106e+05 | \n", "2.874106e+05 | \n", "Private Client | \n", "Private Client | \n", "
4880297 rows × 20 columns
\n", "| \n", " | Agreement - Code | \n", "Company - Id | \n", "Company - Ultimate Parent Id | \n", "Registrar Account - ID | \n", "Registrar Account - Region | \n", "RegistrarAccount - Country | \n", "Product - Asset Type | \n", "Product - Strategy | \n", "Product - Legal Status | \n", "Product - Is Dedie ? | \n", "... | \n", "Quantity - Subscription | \n", "Quantity - Redemption | \n", "Quantity - NetFlows | \n", "Value Ccy - Subscription | \n", "Value Ccy - Redemption | \n", "Value Ccy - NetFlows | \n", "Value € - Subscription | \n", "Value € - Redemption | \n", "Value € - NetFlows | \n", "Account_Clustered | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "003 | \n", "166 | \n", "166 | \n", "200127202 | \n", "France | \n", "France | \n", "Equity | \n", "Investissement | \n", "SICAV | \n", "NO | \n", "... | \n", "1636.000 | \n", "0.000 | \n", "1636.000 | \n", "280983.00 | \n", "0.00 | \n", "280983.00 | \n", "280983.00 | \n", "0.00 | \n", "280983.00 | \n", "406533 | \n", "
| 1 | \n", "003 | \n", "166 | \n", "166 | \n", "406533 | \n", "France | \n", "France | \n", "Diversified | \n", "Patrimoine | \n", "FCP | \n", "NO | \n", "... | \n", "144.690 | \n", "0.000 | \n", "144.690 | \n", "99985.13 | \n", "0.00 | \n", "99985.13 | \n", "99985.13 | \n", "0.00 | \n", "99985.13 | \n", "406533 | \n", "
| 2 | \n", "003 | \n", "166 | \n", "166 | \n", "406533 | \n", "France | \n", "France | \n", "Equity | \n", "Investissement | \n", "FCP | \n", "NO | \n", "... | \n", "0.000 | \n", "-8.321 | \n", "-8.321 | \n", "0.00 | \n", "-9384.76 | \n", "-9384.76 | \n", "0.00 | \n", "-9384.76 | \n", "-9384.76 | \n", "406533 | \n", "
| 3 | \n", "003 | \n", "166 | \n", "166 | \n", "406533 | \n", "France | \n", "France | \n", "Equity | \n", "Investissement | \n", "FCP | \n", "NO | \n", "... | \n", "0.000 | \n", "-22.083 | \n", "-22.083 | \n", "0.00 | \n", "-25227.40 | \n", "-25227.40 | \n", "0.00 | \n", "-25227.40 | \n", "-25227.40 | \n", "406533 | \n", "
| 4 | \n", "003 | \n", "166 | \n", "166 | \n", "406533 | \n", "France | \n", "France | \n", "Equity | \n", "Investissement | \n", "FCP | \n", "NO | \n", "... | \n", "0.000 | \n", "-465.992 | \n", "-465.992 | \n", "0.00 | \n", "-563775.76 | \n", "-563775.76 | \n", "0.00 | \n", "-563775.76 | \n", "-563775.76 | \n", "406533 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 2574456 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Luxembourg | \n", "Luxembourg | \n", "Fixed Income | \n", "Sécurité | \n", "FCP | \n", "NO | \n", "... | \n", "0.000 | \n", "-20.000 | \n", "-20.000 | \n", "0.00 | \n", "-34294.40 | \n", "-34294.40 | \n", "0.00 | \n", "-34294.40 | \n", "-34294.40 | \n", "Private Client | \n", "
| 2574457 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Luxembourg | \n", "Luxembourg | \n", "Fixed Income | \n", "Sécurité | \n", "FCP | \n", "NO | \n", "... | \n", "328.726 | \n", "0.000 | \n", "328.726 | \n", "564028.07 | \n", "0.00 | \n", "564028.07 | \n", "564028.07 | \n", "0.00 | \n", "564028.07 | \n", "Private Client | \n", "
| 2574458 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Luxembourg | \n", "Luxembourg | \n", "Fixed Income | \n", "Sécurité | \n", "FCP | \n", "NO | \n", "... | \n", "4.443 | \n", "0.000 | \n", "4.443 | \n", "7603.66 | \n", "0.00 | \n", "7603.66 | \n", "7603.66 | \n", "0.00 | \n", "7603.66 | \n", "Private Client | \n", "
| 2574459 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Luxembourg | \n", "Luxembourg | \n", "Fixed Income | \n", "Sécurité | \n", "FCP | \n", "NO | \n", "... | \n", "0.000 | \n", "-440.000 | \n", "-440.000 | \n", "0.00 | \n", "-754696.80 | \n", "-754696.80 | \n", "0.00 | \n", "-754696.80 | \n", "-754696.80 | \n", "Private Client | \n", "
| 2574460 | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Private Client | \n", "Luxembourg | \n", "Luxembourg | \n", "Fixed Income | \n", "Sécurité | \n", "SICAV | \n", "NO | \n", "... | \n", "3595.000 | \n", "0.000 | \n", "3595.000 | \n", "358385.55 | \n", "0.00 | \n", "358385.55 | \n", "358385.55 | \n", "0.00 | \n", "358385.55 | \n", "Private Client | \n", "
2574461 rows × 25 columns
\n", "