Project_Carmignac/data_exploration/explore.ipynb

1234 lines
50 KiB
Plaintext
Raw Normal View History

2025-11-25 17:27:19 +01:00
{
"cells": [
{
"cell_type": "markdown",
"id": "bd938e6e",
"metadata": {},
"source": [
"**Short notebook to test connectivity with S3 services and explore the data**"
]
},
{
"cell_type": "code",
2026-02-02 11:37:16 +01:00
"execution_count": 1,
2025-11-25 17:27:19 +01:00
"id": "127753ac",
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
2026-02-02 11:37:16 +01:00
"execution_count": 2,
2025-11-25 17:27:19 +01:00
"id": "ae3c64fe",
"metadata": {},
"outputs": [],
"source": [
"import os\n",
"import s3fs\n",
"fs = s3fs.S3FileSystem(\n",
" client_kwargs={'endpoint_url': 'https://'+'minio-simple.lab.groupe-genes.fr'},\n",
" key = os.environ[\"AWS_ACCESS_KEY_ID\"], \n",
" secret = os.environ[\"AWS_SECRET_ACCESS_KEY\"], \n",
" token = os.environ[\"AWS_SESSION_TOKEN\"])"
]
},
{
"cell_type": "code",
2026-02-02 11:37:16 +01:00
"execution_count": 3,
2026-02-02 10:24:49 +01:00
"id": "84b9ac42",
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"\n",
"def sample_by_blocks(df, block_size=10, num_blocks=10, random_state=None):\n",
" \"\"\"Sample num_blocks blocks of block_size consecutive rows (no overlapping blocks).\"\"\"\n",
" n = len(df)\n",
" max_start = n - block_size\n",
" if max_start < 0:\n",
" raise ValueError(f\"DataFrame has {n} rows, need at least {block_size}\")\n",
" if max_start + 1 < num_blocks:\n",
" raise ValueError(f\"Not enough room for {num_blocks} non-overlapping blocks (need at least {num_blocks * block_size} rows)\")\n",
" rng = np.random.default_rng(random_state)\n",
" chosen_starts = rng.choice(max_start + 1, size=num_blocks, replace=False)\n",
" chosen_starts.sort() # blocks in order of position in original df\n",
" indices = np.concatenate([np.arange(s, s + block_size) for s in chosen_starts])\n",
" return df.iloc[indices].reset_index(drop=True)\n",
"\n",
"# sample_df = sample_by_blocks(df, block_size=10, num_blocks=10, random_state=42)"
]
},
2026-02-02 15:12:21 +01:00
{
"cell_type": "markdown",
"id": "7f7d45bb",
"metadata": {},
"source": [
"### OG AUM"
]
},
2026-02-02 10:24:49 +01:00
{
"cell_type": "code",
2026-02-02 15:12:21 +01:00
"execution_count": 11,
2025-11-25 17:27:19 +01:00
"id": "83472648",
"metadata": {},
2026-02-02 15:12:21 +01:00
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_149812/3855858483.py:2: DtypeWarning: Columns (0,1,2,3) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" df = pd.read_csv(f, sep =\";\")\n"
]
}
],
2026-02-02 11:37:16 +01:00
"source": [
2026-02-02 15:12:21 +01:00
"with fs.open('s3://projet-bdc-data/carmignac/AUM ENSAE V2 -20251105.csv', 'rb') as f:\n",
2026-02-02 12:31:08 +01:00
" df = pd.read_csv(f, sep =\";\")\n",
2026-02-02 11:37:16 +01:00
"\n",
2026-02-02 15:12:21 +01:00
"sample_df = sample_by_blocks(df, block_size=10, num_blocks=10, random_state=42)"
2026-02-02 11:37:16 +01:00
]
},
{
"cell_type": "code",
2026-02-02 15:12:21 +01:00
"execution_count": 13,
2026-02-02 11:37:16 +01:00
"id": "79af063e",
"metadata": {},
2025-11-25 17:27:19 +01:00
"outputs": [
{
2026-02-02 11:37:16 +01:00
"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",
2026-02-02 15:12:21 +01:00
" <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",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
2026-02-02 15:12:21 +01:00
" <td>088</td>\n",
" <td>82.0</td>\n",
" <td>82.0</td>\n",
" <td>406321</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Multi Expertise</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Profil Réactif 100</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149211</td>\n",
" <td>2020-02-29</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
2026-02-02 15:12:21 +01:00
" <td>088</td>\n",
" <td>82.0</td>\n",
" <td>82.0</td>\n",
" <td>406321</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Multi Expertise</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Profil Réactif 100</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149211</td>\n",
" <td>2021-01-31</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
2026-02-02 15:12:21 +01:00
" <td>088</td>\n",
" <td>82.0</td>\n",
" <td>82.0</td>\n",
" <td>406321</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Diversified</td>\n",
" <td>Multi Expertise</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Profil Réactif 100</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149211</td>\n",
" <td>2021-05-31</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
2026-02-02 15:12:21 +01:00
" <td>088</td>\n",
" <td>82.0</td>\n",
" <td>82.0</td>\n",
" <td>406321</td>\n",
" <td>France</td>\n",
" <td>France</td>\n",
" <td>Equity</td>\n",
" <td>Large Cap Emerging Markets Strategy</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Emergents</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149302</td>\n",
" <td>2015-03-31</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
2026-02-02 15:12:21 +01:00
" <td>088</td>\n",
" <td>82.0</td>\n",
" <td>82.0</td>\n",
" <td>403909</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>Carmignac Investissement</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010148981</td>\n",
" <td>2020-09-30</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
2026-02-02 12:31:08 +01:00
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2026-02-02 15:12:21 +01:00
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
2026-02-02 15:12:21 +01:00
" <th>95</th>\n",
" <td>L652</td>\n",
" <td>101.0</td>\n",
" <td>33676.0</td>\n",
" <td>364535</td>\n",
" <td>Luxembourg</td>\n",
" <td>Luxembourg</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Investissement</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010148981</td>\n",
" <td>2017-03-31</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
2026-02-02 15:12:21 +01:00
" <th>96</th>\n",
" <td>L652</td>\n",
" <td>101.0</td>\n",
" <td>33676.0</td>\n",
" <td>364535</td>\n",
" <td>Luxembourg</td>\n",
" <td>Luxembourg</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Investissement</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010148981</td>\n",
" <td>2017-11-30</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
2026-02-02 15:12:21 +01:00
" <th>97</th>\n",
" <td>L652</td>\n",
" <td>101.0</td>\n",
" <td>33676.0</td>\n",
" <td>364535</td>\n",
" <td>Luxembourg</td>\n",
" <td>Luxembourg</td>\n",
" <td>Equity</td>\n",
" <td>Investissement</td>\n",
" <td>FCP</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Investissement</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010148981</td>\n",
" <td>2018-02-28</td>\n",
" <td>0.0</td>\n",
" <td>0.00</td>\n",
" <td>0.0000</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
2026-02-02 15:12:21 +01:00
" <th>98</th>\n",
" <td>L503_16</td>\n",
" <td>9390.0</td>\n",
" <td>19105.0</td>\n",
" <td>200037779</td>\n",
" <td>Belgium</td>\n",
" <td>Belgium</td>\n",
" <td>Diversified</td>\n",
" <td>Emerging Patrimoine</td>\n",
" <td>SICAV</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Portfolio Emerging Patrimoine</td>\n",
" <td>A</td>\n",
" <td>USD</td>\n",
" <td>LU0592699259</td>\n",
" <td>2017-04-30</td>\n",
" <td>65.0</td>\n",
" <td>6820.45</td>\n",
" <td>6263.3270</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" <tr>\n",
2026-02-02 15:12:21 +01:00
" <th>99</th>\n",
" <td>L503_16</td>\n",
" <td>9390.0</td>\n",
" <td>19105.0</td>\n",
" <td>200037779</td>\n",
" <td>Belgium</td>\n",
" <td>Belgium</td>\n",
" <td>Diversified</td>\n",
" <td>Emerging Patrimoine</td>\n",
" <td>SICAV</td>\n",
" <td>NO</td>\n",
" <td>Carmignac Portfolio Emerging Patrimoine</td>\n",
" <td>A</td>\n",
" <td>USD</td>\n",
" <td>LU0592699259</td>\n",
" <td>2017-09-30</td>\n",
" <td>65.0</td>\n",
" <td>6857.50</td>\n",
" <td>5800.6259</td>\n",
2026-02-02 11:37:16 +01:00
" </tr>\n",
" </tbody>\n",
"</table>\n",
2026-02-02 15:12:21 +01:00
"<p>100 rows × 18 columns</p>\n",
2026-02-02 11:37:16 +01:00
"</div>"
],
"text/plain": [
2026-02-02 15:12:21 +01:00
" Agreement - Code Company - Id Company - Ultimate Parent Id \\\n",
"0 088 82.0 82.0 \n",
"1 088 82.0 82.0 \n",
"2 088 82.0 82.0 \n",
"3 088 82.0 82.0 \n",
"4 088 82.0 82.0 \n",
".. ... ... ... \n",
"95 L652 101.0 33676.0 \n",
"96 L652 101.0 33676.0 \n",
"97 L652 101.0 33676.0 \n",
"98 L503_16 9390.0 19105.0 \n",
"99 L503_16 9390.0 19105.0 \n",
"\n",
" Registrar Account - ID Registrar Account - Region \\\n",
"0 406321 France \n",
"1 406321 France \n",
"2 406321 France \n",
"3 406321 France \n",
"4 403909 France \n",
".. ... ... \n",
"95 364535 Luxembourg \n",
"96 364535 Luxembourg \n",
"97 364535 Luxembourg \n",
"98 200037779 Belgium \n",
"99 200037779 Belgium \n",
"\n",
" RegistrarAccount - Country Product - Asset Type \\\n",
"0 France Diversified \n",
"1 France Diversified \n",
"2 France Diversified \n",
"3 France Equity \n",
"4 France Equity \n",
".. ... ... \n",
"95 Luxembourg Equity \n",
"96 Luxembourg Equity \n",
"97 Luxembourg Equity \n",
"98 Belgium Diversified \n",
"99 Belgium Diversified \n",
"\n",
" Product - Strategy Product - Legal Status \\\n",
"0 Multi Expertise FCP \n",
"1 Multi Expertise FCP \n",
"2 Multi Expertise FCP \n",
"3 Large Cap Emerging Markets Strategy FCP \n",
"4 Investissement FCP \n",
".. ... ... \n",
"95 Investissement FCP \n",
"96 Investissement FCP \n",
"97 Investissement FCP \n",
"98 Emerging Patrimoine SICAV \n",
"99 Emerging Patrimoine SICAV \n",
"\n",
" Product - Is Dedie ? Product - Fund \\\n",
"0 NO Carmignac Profil Réactif 100 \n",
"1 NO Carmignac Profil Réactif 100 \n",
"2 NO Carmignac Profil Réactif 100 \n",
"3 NO Carmignac Emergents \n",
"4 NO Carmignac Investissement \n",
".. ... ... \n",
"95 NO Carmignac Investissement \n",
"96 NO Carmignac Investissement \n",
"97 NO Carmignac Investissement \n",
"98 NO Carmignac Portfolio Emerging Patrimoine \n",
"99 NO Carmignac Portfolio Emerging Patrimoine \n",
"\n",
" Product - Shareclass Type Product - Shareclass Currency Product - Isin \\\n",
"0 A EUR FR0010149211 \n",
"1 A EUR FR0010149211 \n",
"2 A EUR FR0010149211 \n",
"3 A EUR FR0010149302 \n",
"4 A EUR FR0010148981 \n",
".. ... ... ... \n",
"95 A EUR FR0010148981 \n",
"96 A EUR FR0010148981 \n",
"97 A EUR FR0010148981 \n",
"98 A USD LU0592699259 \n",
"99 A USD LU0592699259 \n",
"\n",
" Centralisation Date Quantity - AUM Value - AUM CCY Value - AUM € \n",
"0 2020-02-29 0.0 0.00 0.0000 \n",
"1 2021-01-31 0.0 0.00 0.0000 \n",
"2 2021-05-31 0.0 0.00 0.0000 \n",
"3 2015-03-31 0.0 0.00 0.0000 \n",
"4 2020-09-30 0.0 0.00 0.0000 \n",
".. ... ... ... ... \n",
"95 2017-03-31 0.0 0.00 0.0000 \n",
"96 2017-11-30 0.0 0.00 0.0000 \n",
"97 2018-02-28 0.0 0.00 0.0000 \n",
"98 2017-04-30 65.0 6820.45 6263.3270 \n",
"99 2017-09-30 65.0 6857.50 5800.6259 \n",
"\n",
"[100 rows x 18 columns]"
2026-02-02 11:37:16 +01:00
]
},
2026-02-02 15:12:21 +01:00
"execution_count": 13,
2026-02-02 11:37:16 +01:00
"metadata": {},
"output_type": "execute_result"
2025-11-25 17:27:19 +01:00
}
],
"source": [
2026-02-02 11:37:16 +01:00
"sample_df"
2026-02-02 10:24:49 +01:00
]
},
{
"cell_type": "code",
2026-02-02 15:12:21 +01:00
"execution_count": 17,
"id": "65e2c6d4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['Diversified', 'Equity', nan, 'Alternative', 'Fixed Income',\n",
" 'Private Assets'], dtype=object)"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"Product - Asset Type\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "7f294d86",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['Patrimoine', 'Investissement', 'Euro-Investissement',\n",
" 'Innovation', 'Absolute Return Europe', 'Climate Transition',\n",
" 'Euro-Entrepreneurs', 'Large Cap Emerging Markets Strategy',\n",
" 'Emerging Patrimoine', 'Grande Europe', 'Investissement Latitude',\n",
" 'Court Terme', 'Sécurité', 'Multi Expertise', 'Infotech',\n",
" 'Global Bond', 'Patrimoine Europe', 'Credit 2027',\n",
" 'Asia Discovery', 'Tech Solutions', 'Flexible Bond', 'Credit',\n",
" 'Market Neutral', 'Emerging Markets Debt',\n",
" 'Long-Short European Equities', 'Long-Short Global Equities',\n",
" 'Grandchildren', 'Inflation Solution', 'Credit 2029',\n",
" 'Credit 2031', 'Capital Cube', 'China New Economy', 'Crédit 2025',\n",
" 'Family Governed', 'Evergreen', 'Human Xperience', 'China',\n",
" 'Credit Opportunities', 'Merger Arbitrage Plus',\n",
" 'Flexible Allocation 2024', 'European Leaders', 'Merger Arbitrage',\n",
" nan, 'Mapfre Carmignac F.P.', 'Active Risk Allocation',\n",
" 'Credit Suisse Carmignac EM Multi-Asset',\n",
" 'Fonditalia Carmignac Active Allocation', 'Global Active',\n",
" 'LUX IM - Carmignac Emerging Flexible Bond', 'Evolution',\n",
" 'UFF Grande Europe 0-100', 'Cross Asset Opportunities',\n",
" 'Alpha Themes'], dtype=object)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"Product - Strategy\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "2fca184a",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['Carmignac Patrimoine', 'Carmignac Investissement',\n",
" 'Carmignac Portfolio Investissement',\n",
" 'Carmignac Euro-Investissement', 'Carmignac Innovation',\n",
" 'Carmignac Absolute Return Europe',\n",
" 'Carmignac Portfolio Climate Transition',\n",
" 'Carmignac Euro-Entrepreneurs', 'Carmignac Emergents',\n",
" 'Carmignac Portfolio Emerging Patrimoine',\n",
" 'Carmignac Portfolio Grande Europe',\n",
" 'Carmignac Investissement Latitude', 'Carmignac Court Terme',\n",
" 'Carmignac Sécurité', 'Carmignac Multi Expertise',\n",
" 'Carmignac Portfolio Infotech', 'Carmignac Profil Réactif 100',\n",
" 'Carmignac Portfolio Global Bond', 'Carmignac Profil Réactif 75',\n",
" 'Carmignac Portfolio Patrimoine Europe', 'Carmignac Credit 2027',\n",
" 'Carmignac Portfolio Asia Discovery',\n",
" 'Carmignac Portfolio Tech Solutions',\n",
" 'Carmignac Portfolio Flexible Bond', 'Carmignac Portfolio Credit',\n",
" 'Carmignac Portfolio Market Neutral',\n",
" 'Carmignac Portfolio EM Debt',\n",
" 'Carmignac Portfolio Long-Short European Equities',\n",
" 'Carmignac Portfolio Long-Short Global Equities',\n",
" 'Carmignac Portfolio Patrimoine',\n",
" 'Carmignac Portfolio Euro-Entrepreneurs',\n",
" 'Carmignac Portfolio Grandchildren',\n",
" 'Carmignac Portfolio Investissement Latitude',\n",
" 'Carmignac Portfolio Emergents', 'Carmignac Portfolio Sécurité',\n",
" 'Carmignac Portfolio Inflation Solution', 'Carmignac Credit 2029',\n",
" 'Carmignac Credit 2031', 'Carmignac Portfolio Capital Cube',\n",
" 'Carmignac Portfolio China New Economy', 'Carmignac Credit 2025',\n",
" 'Carmignac Epargne Actions Monde ISR',\n",
" 'Carmignac Portfolio Family Governed',\n",
" 'Carmignac S.A. SICAV - PART II UCI Private Evergreen',\n",
" 'Carmignac Portfolio Human Xperience',\n",
" 'Carmignac China New Economy', 'Carmignac Portfolio China',\n",
" 'Carmignac Alts ICAV Carmignac Credit Opportunities',\n",
" 'Carmignac Portfolio Merger Arbitrage Plus',\n",
" 'Carmignac Portfolio Absolute Return Europe',\n",
" 'Carmignac Portfolio Flexible Allocation 2024',\n",
" 'FP Carmignac European Leaders',\n",
" 'FP Carmignac Global Equity Compounders',\n",
" 'Carmignac Portfolio Merger Arbitrage',\n",
" 'Solys - Carmignac Equity Selection',\n",
" 'FP Carmignac Emerging Markets', 'Mapfre Carmignac F.P.',\n",
" 'FP Carmignac Global Bond',\n",
" 'Carmignac Alts ICAV European Long Short',\n",
" 'Carmignac Portfolio Active Risk Allocation',\n",
" 'FP Carmignac Emerging Patrimoine', 'FP Carmignac Patrimoine',\n",
" 'FP Carmignac Emerging Discovery',\n",
" 'Credit Suisse Carmignac Emerging Markets Multi-Asset Fund',\n",
" 'Fonditalia Carmignac Active Allocation',\n",
" 'Carmignac Global Active',\n",
" 'LUX IM - Carmignac Emerging Flexible Bond',\n",
" 'Carmignac Portfolio Evolution', 'UFF Grande Europe 0-100',\n",
" 'CFP 1', 'Carmignac Portfolio Sustainable Bond',\n",
" 'Carmignac Portfolio Cross Asset Opportunities',\n",
" 'Carmignac Portfolio Alpha Themes',\n",
" 'Carmignac Portfolio Global Market Neutral'], dtype=object)"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"Product - Fund\"].unique()"
]
},
{
"cell_type": "markdown",
"id": "6f40c922",
"metadata": {},
"source": [
"### Repaired AUM"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "b6edd4fd",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/tmp/ipykernel_149812/221531830.py:2: DtypeWarning: Columns (2,3,4,5) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" df_ = pd.read_csv(f, sep =\",\")\n"
]
}
],
"source": [
"with fs.open('s3://projet-bdc-carmignac-g3/AUM_repaired.csv', 'rb') as f:\n",
" df_ = pd.read_csv(f, sep =\",\")\n",
"\n",
"sample_df_ = sample_by_blocks(df_, block_size=10, num_blocks=10, random_state=42)"
]
},
{
"cell_type": "code",
"execution_count": 22,
2026-02-02 10:24:49 +01:00
"id": "36ec4312",
"metadata": {},
2026-02-02 15:12:21 +01:00
"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>Unnamed: 0.1</th>\n",
" <th>Unnamed: 0</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>...</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",
" <th>repair_flag</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>474086</td>\n",
" <td>474032</td>\n",
" <td>089</td>\n",
" <td>151.0</td>\n",
" <td>877.0</td>\n",
" <td>406474</td>\n",
" <td>FRANCE</td>\n",
" <td>FRANCE</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>MULTI EXPERTISE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC MULTI EXPERTISE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149203</td>\n",
" <td>2015-04-30</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>474087</td>\n",
" <td>474033</td>\n",
" <td>089</td>\n",
" <td>151.0</td>\n",
" <td>877.0</td>\n",
" <td>406474</td>\n",
" <td>FRANCE</td>\n",
" <td>FRANCE</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>MULTI EXPERTISE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC MULTI EXPERTISE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149203</td>\n",
" <td>2015-10-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>474088</td>\n",
" <td>474034</td>\n",
" <td>089</td>\n",
" <td>151.0</td>\n",
" <td>877.0</td>\n",
" <td>406474</td>\n",
" <td>FRANCE</td>\n",
" <td>FRANCE</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>MULTI EXPERTISE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC MULTI EXPERTISE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149203</td>\n",
" <td>2016-03-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>474089</td>\n",
" <td>474035</td>\n",
" <td>089</td>\n",
" <td>151.0</td>\n",
" <td>877.0</td>\n",
" <td>406474</td>\n",
" <td>FRANCE</td>\n",
" <td>FRANCE</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>MULTI EXPERTISE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC MULTI EXPERTISE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149203</td>\n",
" <td>2016-11-30</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>474090</td>\n",
" <td>474036</td>\n",
" <td>089</td>\n",
" <td>151.0</td>\n",
" <td>877.0</td>\n",
" <td>406474</td>\n",
" <td>FRANCE</td>\n",
" <td>FRANCE</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>MULTI EXPERTISE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC MULTI EXPERTISE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>FR0010149203</td>\n",
" <td>2017-01-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>95</th>\n",
" <td>4736134</td>\n",
" <td>4230498</td>\n",
" <td>L694_A</td>\n",
" <td>15004.0</td>\n",
" <td>15004.0</td>\n",
" <td>420029</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>EMERGING PATRIMOINE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC PORTFOLIO EMERGING PATRIMOINE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>LU0592698954</td>\n",
" <td>2019-09-30</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>96</th>\n",
" <td>4736135</td>\n",
" <td>4230499</td>\n",
" <td>L694_A</td>\n",
" <td>15004.0</td>\n",
" <td>15004.0</td>\n",
" <td>420029</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>EMERGING PATRIMOINE</td>\n",
" <td>...</td>\n",
" <td>NO</td>\n",
" <td>CARMIGNAC PORTFOLIO EMERGING PATRIMOINE</td>\n",
" <td>A</td>\n",
" <td>EUR</td>\n",
" <td>LU0592698954</td>\n",
" <td>2020-05-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>97</th>\n",
" <td>4736136</td>\n",
" <td>4230500</td>\n",
" <td>L694_A</td>\n",
" <td>15004.0</td>\n",
" <td>15004.0</td>\n",
" <td>420029</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>PATRIMOINE</td>\n",
" <td>...</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-08-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>98</th>\n",
" <td>4736137</td>\n",
" <td>4230501</td>\n",
" <td>L694_A</td>\n",
" <td>15004.0</td>\n",
" <td>15004.0</td>\n",
" <td>420029</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>PATRIMOINE</td>\n",
" <td>...</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-07-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" <tr>\n",
" <th>99</th>\n",
" <td>4736138</td>\n",
" <td>4230502</td>\n",
" <td>L694_A</td>\n",
" <td>15004.0</td>\n",
" <td>15004.0</td>\n",
" <td>420029</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>SWITZERLAND</td>\n",
" <td>DIVERSIFIED</td>\n",
" <td>PATRIMOINE</td>\n",
" <td>...</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-12-31</td>\n",
" <td>0.0</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>False</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>100 rows × 21 columns</p>\n",
"</div>"
],
"text/plain": [
" Unnamed: 0.1 Unnamed: 0 Agreement - Code Company - Id \\\n",
"0 474086 474032 089 151.0 \n",
"1 474087 474033 089 151.0 \n",
"2 474088 474034 089 151.0 \n",
"3 474089 474035 089 151.0 \n",
"4 474090 474036 089 151.0 \n",
".. ... ... ... ... \n",
"95 4736134 4230498 L694_A 15004.0 \n",
"96 4736135 4230499 L694_A 15004.0 \n",
"97 4736136 4230500 L694_A 15004.0 \n",
"98 4736137 4230501 L694_A 15004.0 \n",
"99 4736138 4230502 L694_A 15004.0 \n",
"\n",
" Company - Ultimate Parent Id Registrar Account - ID \\\n",
"0 877.0 406474 \n",
"1 877.0 406474 \n",
"2 877.0 406474 \n",
"3 877.0 406474 \n",
"4 877.0 406474 \n",
".. ... ... \n",
"95 15004.0 420029 \n",
"96 15004.0 420029 \n",
"97 15004.0 420029 \n",
"98 15004.0 420029 \n",
"99 15004.0 420029 \n",
"\n",
" Registrar Account - Region RegistrarAccount - Country Product - Asset Type \\\n",
"0 FRANCE FRANCE DIVERSIFIED \n",
"1 FRANCE FRANCE DIVERSIFIED \n",
"2 FRANCE FRANCE DIVERSIFIED \n",
"3 FRANCE FRANCE DIVERSIFIED \n",
"4 FRANCE FRANCE DIVERSIFIED \n",
".. ... ... ... \n",
"95 SWITZERLAND SWITZERLAND DIVERSIFIED \n",
"96 SWITZERLAND SWITZERLAND DIVERSIFIED \n",
"97 SWITZERLAND SWITZERLAND DIVERSIFIED \n",
"98 SWITZERLAND SWITZERLAND DIVERSIFIED \n",
"99 SWITZERLAND SWITZERLAND DIVERSIFIED \n",
"\n",
" Product - Strategy ... Product - Is Dedie ? \\\n",
"0 MULTI EXPERTISE ... NO \n",
"1 MULTI EXPERTISE ... NO \n",
"2 MULTI EXPERTISE ... NO \n",
"3 MULTI EXPERTISE ... NO \n",
"4 MULTI EXPERTISE ... NO \n",
".. ... ... ... \n",
"95 EMERGING PATRIMOINE ... NO \n",
"96 EMERGING PATRIMOINE ... NO \n",
"97 PATRIMOINE ... NO \n",
"98 PATRIMOINE ... NO \n",
"99 PATRIMOINE ... NO \n",
"\n",
" Product - Fund Product - Shareclass Type \\\n",
"0 CARMIGNAC MULTI EXPERTISE A \n",
"1 CARMIGNAC MULTI EXPERTISE A \n",
"2 CARMIGNAC MULTI EXPERTISE A \n",
"3 CARMIGNAC MULTI EXPERTISE A \n",
"4 CARMIGNAC MULTI EXPERTISE A \n",
".. ... ... \n",
"95 CARMIGNAC PORTFOLIO EMERGING PATRIMOINE A \n",
"96 CARMIGNAC PORTFOLIO EMERGING PATRIMOINE A \n",
"97 CARMIGNAC PATRIMOINE A \n",
"98 CARMIGNAC PATRIMOINE A \n",
"99 CARMIGNAC PATRIMOINE A \n",
"\n",
" Product - Shareclass Currency Product - Isin Centralisation Date \\\n",
"0 EUR FR0010149203 2015-04-30 \n",
"1 EUR FR0010149203 2015-10-31 \n",
"2 EUR FR0010149203 2016-03-31 \n",
"3 EUR FR0010149203 2016-11-30 \n",
"4 EUR FR0010149203 2017-01-31 \n",
".. ... ... ... \n",
"95 EUR LU0592698954 2019-09-30 \n",
"96 EUR LU0592698954 2020-05-31 \n",
"97 EUR FR0010135103 2015-08-31 \n",
"98 EUR FR0010135103 2016-07-31 \n",
"99 EUR FR0010135103 2016-12-31 \n",
"\n",
" Quantity - AUM Value - AUM CCY Value - AUM € repair_flag \n",
"0 0.0 NaN NaN False \n",
"1 0.0 NaN NaN False \n",
"2 0.0 NaN NaN False \n",
"3 0.0 NaN NaN False \n",
"4 0.0 NaN NaN False \n",
".. ... ... ... ... \n",
"95 0.0 NaN NaN False \n",
"96 0.0 NaN NaN False \n",
"97 0.0 NaN NaN False \n",
"98 0.0 NaN NaN False \n",
"99 0.0 NaN NaN False \n",
"\n",
"[100 rows x 21 columns]"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sample_df_"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "36e72eb0",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['DIVERSIFIED', 'EQUITY', 'NAN', 'ALTERNATIVE', 'FIXED INCOME',\n",
" 'PRIVATE ASSETS'], dtype=object)"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_[\"Product - Asset Type\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "16e8d5df",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['CARMIGNAC PATRIMOINE', 'CARMIGNAC INVESTISSEMENT',\n",
" 'CARMIGNAC PORTFOLIO INVESTISSEMENT',\n",
" 'CARMIGNAC EURO-INVESTISSEMENT', 'CARMIGNAC INNOVATION',\n",
" 'CARMIGNAC ABSOLUTE RETURN EUROPE',\n",
" 'CARMIGNAC PORTFOLIO CLIMATE TRANSITION',\n",
" 'CARMIGNAC EURO-ENTREPRENEURS', 'CARMIGNAC EMERGENTS',\n",
" 'CARMIGNAC PORTFOLIO EMERGING PATRIMOINE',\n",
" 'CARMIGNAC PORTFOLIO GRANDE EUROPE',\n",
" 'CARMIGNAC INVESTISSEMENT LATITUDE', 'CARMIGNAC COURT TERME',\n",
" 'CARMIGNAC SÉCURITÉ', 'CARMIGNAC MULTI EXPERTISE',\n",
" 'CARMIGNAC PORTFOLIO INFOTECH', 'CARMIGNAC PROFIL RÉACTIF 100',\n",
" 'CARMIGNAC PORTFOLIO GLOBAL BOND', 'CARMIGNAC PROFIL RÉACTIF 75',\n",
" 'CARMIGNAC PORTFOLIO PATRIMOINE EUROPE', 'CARMIGNAC CREDIT 2027',\n",
" 'CARMIGNAC PORTFOLIO ASIA DISCOVERY',\n",
" 'CARMIGNAC PORTFOLIO TECH SOLUTIONS',\n",
" 'CARMIGNAC PORTFOLIO FLEXIBLE BOND', 'CARMIGNAC PORTFOLIO CREDIT',\n",
" 'CARMIGNAC PORTFOLIO MARKET NEUTRAL',\n",
" 'CARMIGNAC PORTFOLIO EM DEBT',\n",
" 'CARMIGNAC PORTFOLIO LONG-SHORT EUROPEAN EQUITIES',\n",
" 'CARMIGNAC PORTFOLIO LONG-SHORT GLOBAL EQUITIES',\n",
" 'CARMIGNAC PORTFOLIO PATRIMOINE',\n",
" 'CARMIGNAC PORTFOLIO EURO-ENTREPRENEURS',\n",
" 'CARMIGNAC PORTFOLIO GRANDCHILDREN',\n",
" 'CARMIGNAC PORTFOLIO INVESTISSEMENT LATITUDE',\n",
" 'CARMIGNAC PORTFOLIO EMERGENTS', 'CARMIGNAC PORTFOLIO SÉCURITÉ',\n",
" 'CARMIGNAC PORTFOLIO INFLATION SOLUTION', 'CARMIGNAC CREDIT 2029',\n",
" 'CARMIGNAC CREDIT 2031', 'CARMIGNAC PORTFOLIO CAPITAL CUBE',\n",
" 'CARMIGNAC PORTFOLIO CHINA NEW ECONOMY', 'CARMIGNAC CREDIT 2025',\n",
" 'CARMIGNAC EPARGNE ACTIONS MONDE ISR',\n",
" 'CARMIGNAC PORTFOLIO FAMILY GOVERNED',\n",
" 'CARMIGNAC S.A. SICAV - PART II UCI PRIVATE EVERGREEN',\n",
" 'CARMIGNAC PORTFOLIO HUMAN XPERIENCE',\n",
" 'CARMIGNAC CHINA NEW ECONOMY', 'CARMIGNAC PORTFOLIO CHINA',\n",
" 'CARMIGNAC ALTS ICAV CARMIGNAC CREDIT OPPORTUNITIES',\n",
" 'CARMIGNAC PORTFOLIO MERGER ARBITRAGE PLUS',\n",
" 'CARMIGNAC PORTFOLIO ABSOLUTE RETURN EUROPE',\n",
" 'CARMIGNAC PORTFOLIO FLEXIBLE ALLOCATION 2024',\n",
" 'FP CARMIGNAC EUROPEAN LEADERS',\n",
" 'FP CARMIGNAC GLOBAL EQUITY COMPOUNDERS',\n",
" 'CARMIGNAC PORTFOLIO MERGER ARBITRAGE',\n",
" 'SOLYS - CARMIGNAC EQUITY SELECTION',\n",
" 'FP CARMIGNAC EMERGING MARKETS', 'MAPFRE CARMIGNAC F.P.',\n",
" 'FP CARMIGNAC GLOBAL BOND',\n",
" 'CARMIGNAC ALTS ICAV EUROPEAN LONG SHORT',\n",
" 'CARMIGNAC PORTFOLIO ACTIVE RISK ALLOCATION',\n",
" 'FP CARMIGNAC EMERGING PATRIMOINE', 'FP CARMIGNAC PATRIMOINE',\n",
" 'FP CARMIGNAC EMERGING DISCOVERY',\n",
" 'CREDIT SUISSE CARMIGNAC EMERGING MARKETS MULTI-ASSET FUND',\n",
" 'FONDITALIA CARMIGNAC ACTIVE ALLOCATION',\n",
" 'CARMIGNAC GLOBAL ACTIVE',\n",
" 'LUX IM - CARMIGNAC EMERGING FLEXIBLE BOND',\n",
" 'CARMIGNAC PORTFOLIO EVOLUTION', 'UFF GRANDE EUROPE 0-100',\n",
" 'CFP 1', 'CARMIGNAC PORTFOLIO SUSTAINABLE BOND',\n",
" 'CARMIGNAC PORTFOLIO CROSS ASSET OPPORTUNITIES',\n",
" 'CARMIGNAC PORTFOLIO ALPHA THEMES',\n",
" 'CARMIGNAC PORTFOLIO GLOBAL MARKET NEUTRAL'], dtype=object)"
]
},
"execution_count": 26,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df_[\"Product - Fund\"].unique()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "fbe1d3fc",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"array(['PATRIMOINE', 'INVESTISSEMENT', 'EURO-INVESTISSEMENT',\n",
" 'INNOVATION', 'ABSOLUTE RETURN EUROPE', 'CLIMATE TRANSITION',\n",
" 'EURO-ENTREPRENEURS', 'LARGE CAP EMERGING MARKETS STRATEGY',\n",
" 'EMERGING PATRIMOINE', 'GRANDE EUROPE', 'INVESTISSEMENT LATITUDE',\n",
" 'COURT TERME', 'SÉCURITÉ', 'MULTI EXPERTISE', 'INFOTECH',\n",
" 'GLOBAL BOND', 'PATRIMOINE EUROPE', 'CREDIT 2027',\n",
" 'ASIA DISCOVERY', 'TECH SOLUTIONS', 'FLEXIBLE BOND', 'CREDIT',\n",
" 'MARKET NEUTRAL', 'EMERGING MARKETS DEBT',\n",
" 'LONG-SHORT EUROPEAN EQUITIES', 'LONG-SHORT GLOBAL EQUITIES',\n",
" 'GRANDCHILDREN', 'INFLATION SOLUTION', 'CREDIT 2029',\n",
" 'CREDIT 2031', 'CAPITAL CUBE', 'CHINA NEW ECONOMY', 'CRÉDIT 2025',\n",
" 'FAMILY GOVERNED', 'EVERGREEN', 'HUMAN XPERIENCE', 'CHINA',\n",
" 'CREDIT OPPORTUNITIES', 'MERGER ARBITRAGE PLUS',\n",
" 'FLEXIBLE ALLOCATION 2024', 'EUROPEAN LEADERS', 'MERGER ARBITRAGE',\n",
" 'NAN', 'MAPFRE CARMIGNAC F.P.', 'ACTIVE RISK ALLOCATION',\n",
" 'CREDIT SUISSE CARMIGNAC EM MULTI-ASSET',\n",
" 'FONDITALIA CARMIGNAC ACTIVE ALLOCATION', 'GLOBAL ACTIVE',\n",
" 'LUX IM - CARMIGNAC EMERGING FLEXIBLE BOND', 'EVOLUTION',\n",
" 'UFF GRANDE EUROPE 0-100', 'CROSS ASSET OPPORTUNITIES',\n",
" 'ALPHA THEMES'], dtype=object)"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
2026-02-02 10:24:49 +01:00
"source": [
2026-02-02 15:12:21 +01:00
"df_[\"Product - Strategy\"].unique()"
2025-11-25 17:27:19 +01:00
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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",
2026-02-02 10:24:49 +01:00
"version": "3.13.11"
2025-11-25 17:27:19 +01:00
}
},
"nbformat": 4,
"nbformat_minor": 5
}