{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Competitors Analysis" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: openpyxl in /opt/python/lib/python3.13/site-packages (3.1.5)\n", "Requirement already satisfied: et-xmlfile in /opt/python/lib/python3.13/site-packages (from openpyxl) (2.0.0)\n" ] } ], "source": [ "import pandas as pd\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "!pip install openpyxl\n", "import os\n", "import s3fs\n", "import seaborn as sns\n", "import plotly.express as px\n", "import re" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "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", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "with fs.open('s3://projet-bdc-data/carmignac/Data Modélisation/competitors/weekly_perf_full.csv', 'rb') as f:\n", " weekly_perf = pd.read_csv(f, sep=\";\")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "weekly_perf[\"Date\"] = pd.to_datetime(weekly_perf['Date'])" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "weekly_perf.to_csv('weekly_perf_full.csv')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Time span of each competitor fund" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " First_Appearance Last_Appearance\n", "shareClass_name \n", "AB EM Multi-Asset A EUR H 2012-12-01 2025-09-27\n", "AB European Growth A EUR 2024-03-23 2025-09-27\n", "AB European Income A2 EUR 2012-12-01 2025-09-27\n", "AB Event Driven S1 EUR H 2020-03-21 2025-09-27\n", "AB Global Dynamic Bond I2 GBP 2014-06-21 2025-09-27\n", "... ... ...\n", "iShares MSCI EM ex China ETF USD Acc 2021-05-29 2025-09-27\n", "iShares € Aggt Bd ESG SRI ETF EUR Dist 2012-12-01 2025-09-27\n", "iShares € Corp Bd 0-3yr ESG SRI ETF€Dist 2016-02-06 2025-09-27\n", "iShares € Govt Bond 1-3yr ETF EUR Dist 2012-12-01 2025-09-27\n", "ÖkoWorld ÖkoVision Classic C 2015-01-07 2015-12-30\n", "\n", "[1012 rows x 2 columns]\n" ] } ], "source": [ "span_df = weekly_perf.groupby('shareClass_name')['Date'].agg(['min', 'max'])\n", "\n", "span_df.columns = ['First_Appearance', 'Last_Appearance']\n", "\n", "print(span_df)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "carmignac_funds = weekly_perf[weekly_perf['shareClass_name'].str.contains(\"Carmignac\", case=False, na=False)]\n", "carmignac_span = carmignac_funds.groupby('shareClass_name')['Date'].agg(['min', 'max'])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "carmignac_funds.to_csv(\"carmignac_perf.csv\")" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | min | \n", "max | \n", "
|---|---|---|
| shareClass_name | \n", "\n", " | \n", " |
| AXA Sel Carmignac Convictions Instl I € | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| AXA Sel Carmignac Convictions Rtl R EUR | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| Best Carmignac FI | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| Carmignac Absolute Ret Eur A EUR Acc | \n", "2012-12-01 | \n", "2025-09-27 | \n", "
| Carmignac Absolute Ret Eur A EUR Ydis | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| ... | \n", "... | \n", "... | \n", "
| Multimgrs Equilibre-Carmignac Patrim I | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| Multimgrs Equilibre-Carmignac Patrim P | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| Multimgrs Equilibre-Carmignac Patrim S | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| Nomura Carmignac Fund A | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
| Nomura Carmignac Fund B | \n", "2015-01-07 | \n", "2015-12-30 | \n", "
224 rows × 2 columns
\n", "| \n", " | Product - Asset Type | \n", "50% of AUM | \n", "75% of AUM | \n", "90% of AUM | \n", "95% of AUM | \n", "99% of AUM | \n", "Total accounts | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "Alternative | \n", "19 | \n", "80 | \n", "193 | \n", "309 | \n", "667 | \n", "2679 | \n", "
| 1 | \n", "Diversified | \n", "36 | \n", "113 | \n", "289 | \n", "480 | \n", "1100 | \n", "8846 | \n", "
| 2 | \n", "Equity | \n", "35 | \n", "125 | \n", "331 | \n", "556 | \n", "1378 | \n", "9123 | \n", "
| 3 | \n", "Fixed Income | \n", "33 | \n", "114 | \n", "307 | \n", "514 | \n", "1132 | \n", "7348 | \n", "
| 4 | \n", "Private Assets | \n", "1 | \n", "1 | \n", "1 | \n", "1 | \n", "3 | \n", "18 | \n", "
| \n", " | Product - Fund | \n", "Total AUM (€) | \n", "
|---|---|---|
| 0 | \n", "Carmignac Patrimoine | \n", "1.838372e+12 | \n", "
| 1 | \n", "Carmignac Sécurité | \n", "1.053010e+12 | \n", "
| 2 | \n", "Carmignac Investissement | \n", "5.300035e+11 | \n", "
| 3 | \n", "Carmignac Portfolio Sécurité | \n", "2.562135e+11 | \n", "
| 4 | \n", "Carmignac Portfolio Flexible Bond | \n", "2.223185e+11 | \n", "
| ... | \n", "... | \n", "... | \n", "
| 69 | \n", "CFP 1 | \n", "2.300000e+02 | \n", "
| 70 | \n", "Carmignac Innovation | \n", "0.000000e+00 | \n", "
| 71 | \n", "Carmignac Euro-Investissement | \n", "0.000000e+00 | \n", "
| 72 | \n", "Carmignac Portfolio Infotech | \n", "0.000000e+00 | \n", "
| 73 | \n", "Carmignac Portfolio Market Neutral | \n", "0.000000e+00 | \n", "
74 rows × 2 columns
\n", "