{ "cells": [ { "cell_type": "code", "execution_count": 7, "id": "f996e528-002f-4856-a67a-5120e8af86ad", "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 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" ] }, { "cell_type": "code", "execution_count": 8, "id": "bdfc2afe-c3aa-41b6-bb40-3a7bf2a39d9a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Agreement - CodeCompany - IdCompany - Ultimate Parent IdRegistrar Account - IDRegistrar Account - RegionRegistrarAccount - CountryProduct - Asset TypeProduct - StrategyProduct - Legal StatusProduct - Is Dedie ?...Centralisation DateQuantity - SubscriptionQuantity - RedemptionQuantity - NetFlowsValue Ccy - SubscriptionValue Ccy - RedemptionValue Ccy - NetFlowsValue € - SubscriptionValue € - RedemptionValue € - NetFlows
0003166166200127202FranceFranceEquityInvestissementSICAVNO...2020-11-051636.000.0001636.000280983.000.00280983.00280983.000.00280983.00
1003166166406533FranceFranceDiversifiedPatrimoineFCPNO...2015-03-09144.690.000144.69099985.130.0099985.1399985.130.0099985.13
2003166166406533FranceFranceEquityInvestissementFCPNO...2016-10-260.00-8.321-8.3210.00-9384.76-9384.760.00-9384.76-9384.76
3003166166406533FranceFranceEquityInvestissementFCPNO...2018-10-180.00-22.083-22.0830.00-25227.40-25227.400.00-25227.40-25227.40
4003166166406533FranceFranceEquityInvestissementFCPNO...2019-04-080.00-465.992-465.9920.00-563775.76-563775.760.00-563775.76-563775.76
\n", "

5 rows × 24 columns

\n", "
" ], "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": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = flows_data['Flows ENSAE V2 -20251105.csv']\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 9, "id": "6af3bcd9-0a54-4087-a8cf-203fb6f8a947", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
Agreement - CodeCompany - IdCompany - Ultimate Parent IdRegistrar Account - IDRegistrar Account - RegionRegistrarAccount - CountryProduct - Asset TypeProduct - StrategyProduct - Legal StatusProduct - Is Dedie ?Product - FundProduct - Shareclass TypeProduct - Shareclass CurrencyProduct - IsinCentralisation DateQuantity - AUMValue - AUM CCYValue - AUM €
0003166166200000647FranceFranceDiversifiedPatrimoineFCPNOCarmignac PatrimoineAEURFR00101351032015-03-3135.36824648.666624648.6666
1003166166200000647FranceFranceDiversifiedPatrimoineFCPNOCarmignac PatrimoineAEURFR00101351032015-11-3035.36822413.055322413.0553
2003166166200000647FranceFranceDiversifiedPatrimoineFCPNOCarmignac PatrimoineAEURFR00101351032015-12-3135.36822051.240622051.2406
3003166166200000647FranceFranceDiversifiedPatrimoineFCPNOCarmignac PatrimoineAEURFR00101351032016-03-3135.36821626.117321626.1173
4003166166200000647FranceFranceDiversifiedPatrimoineFCPNOCarmignac PatrimoineAEURFR00101351032016-11-3035.36822489.450222489.4502
\n", "
" ], "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": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dg = aum_data['AUM ENSAE V2 -20251105.csv']\n", "dg.head()" ] }, { "cell_type": "code", "execution_count": null, "id": "1d9cd20d-2e79-47b8-91f1-09fee4962dc6", "metadata": {}, "outputs": [], "source": [ "df_ids = set(df['Registrar Account - ID'].unique())\n", "dg_ids = set(dg['Registrar Account - ID'].unique())\n", "\n", "intersect = df_ids & dg_ids # comptes dans les deux\n", "only_df = df_ids - dg_ids # comptes seulement dans df\n", "only_dg = dg_ids - df_ids # comptes seulement dans dg\n" ] }, { "cell_type": "code", "execution_count": null, "id": "1a374690-119e-4bbb-a12d-13d0305780ad", "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.8" } }, "nbformat": 4, "nbformat_minor": 5 }