{ "cells": [ { "cell_type": "markdown", "id": "bd938e6e", "metadata": {}, "source": [ "**Short notebook to test connectivity with S3 services and explore the data**" ] }, { "cell_type": "code", "execution_count": 1, "id": "127753ac", "metadata": {}, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "code", "execution_count": 2, "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", "execution_count": 3, "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)" ] }, { "cell_type": "markdown", "id": "7f7d45bb", "metadata": {}, "source": [ "### OG AUM" ] }, { "cell_type": "code", "execution_count": 8, "id": "83472648", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/tmp/ipykernel_175445/2279824029.py:2: DtypeWarning: Columns (0,1,2,3) have mixed types. Specify dtype option on import or set low_memory=False.\n", " aum = pd.read_csv(f, sep =\";\")\n" ] } ], "source": [ "with fs.open('s3://projet-bdc-data/carmignac/AUM ENSAE V2 -20251105.csv', 'rb') as f:\n", " aum = pd.read_csv(f, sep =\";\")" ] }, { "cell_type": "code", "execution_count": 9, "id": "0b84ede5", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \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", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2716081 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "NaN | \n", "Infotech | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Infotech | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2015-06-30 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 2716082 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "NaN | \n", "Infotech | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Infotech | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2016-03-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 2716092 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "NaN | \n", "Infotech | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Infotech | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2017-05-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 2716093 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "NaN | \n", "Infotech | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Infotech | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2019-02-28 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 2716094 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "NaN | \n", "Infotech | \n", "SICAV | \n", "NO | \n", "Carmignac Portfolio Infotech | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2019-03-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 3652177 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "Equity | \n", "Investissement Latitude | \n", "FCP | \n", "NO | \n", "Carmignac Investissement Latitude | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2018-05-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 3652178 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "Equity | \n", "Investissement Latitude | \n", "FCP | \n", "NO | \n", "Carmignac Investissement Latitude | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2018-06-30 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 3652179 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "Equity | \n", "Investissement Latitude | \n", "FCP | \n", "NO | \n", "Carmignac Investissement Latitude | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2018-12-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 3652180 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "Equity | \n", "Investissement Latitude | \n", "FCP | \n", "NO | \n", "Carmignac Investissement Latitude | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2019-08-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
| 3652181 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "Luxembourg | \n", "Luxembourg | \n", "Equity | \n", "Investissement Latitude | \n", "FCP | \n", "NO | \n", "Carmignac Investissement Latitude | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2020-01-31 | \n", "0.0 | \n", "0.0 | \n", "0.0 | \n", "
640 rows × 18 columns
\n", "| \n", " | Unnamed: 0.1 | \n", "Unnamed: 0 | \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", "... | \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", "repair_flag | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2995412 | \n", "2995412 | \n", "2716081 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "NAN | \n", "INFOTECH | \n", "... | \n", "NO | \n", "CARMIGNAC PORTFOLIO INFOTECH | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2015-06-30 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 2995413 | \n", "2995413 | \n", "2716082 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "NAN | \n", "INFOTECH | \n", "... | \n", "NO | \n", "CARMIGNAC PORTFOLIO INFOTECH | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2016-03-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 2995423 | \n", "2995423 | \n", "2716092 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "NAN | \n", "INFOTECH | \n", "... | \n", "NO | \n", "CARMIGNAC PORTFOLIO INFOTECH | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2017-05-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 2995424 | \n", "2995424 | \n", "2716093 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "NAN | \n", "INFOTECH | \n", "... | \n", "NO | \n", "CARMIGNAC PORTFOLIO INFOTECH | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2019-02-28 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 2995425 | \n", "2995425 | \n", "2716094 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "NAN | \n", "INFOTECH | \n", "... | \n", "NO | \n", "CARMIGNAC PORTFOLIO INFOTECH | \n", "A | \n", "EUR | \n", "LU0109929157 | \n", "2019-03-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 4073314 | \n", "4073314 | \n", "3652177 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "EQUITY | \n", "INVESTISSEMENT LATITUDE | \n", "... | \n", "NO | \n", "CARMIGNAC INVESTISSEMENT LATITUDE | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2018-05-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 4073315 | \n", "4073315 | \n", "3652178 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "EQUITY | \n", "INVESTISSEMENT LATITUDE | \n", "... | \n", "NO | \n", "CARMIGNAC INVESTISSEMENT LATITUDE | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2018-06-30 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 4073316 | \n", "4073316 | \n", "3652179 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "EQUITY | \n", "INVESTISSEMENT LATITUDE | \n", "... | \n", "NO | \n", "CARMIGNAC INVESTISSEMENT LATITUDE | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2018-12-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 4073317 | \n", "4073317 | \n", "3652180 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "EQUITY | \n", "INVESTISSEMENT LATITUDE | \n", "... | \n", "NO | \n", "CARMIGNAC INVESTISSEMENT LATITUDE | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2019-08-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
| 4073318 | \n", "4073318 | \n", "3652181 | \n", "L134 | \n", "15292.0 | \n", "15292.0 | \n", "11215 | \n", "LUXEMBOURG | \n", "LUXEMBOURG | \n", "EQUITY | \n", "INVESTISSEMENT LATITUDE | \n", "... | \n", "NO | \n", "CARMIGNAC INVESTISSEMENT LATITUDE | \n", "A | \n", "EUR | \n", "FR0010147603 | \n", "2020-01-31 | \n", "0.0 | \n", "NaN | \n", "NaN | \n", "False | \n", "
640 rows × 21 columns
\n", "| \n", " | Bond/Index | \n", "Description | \n", "Date | \n", "Total Return % 1-wk-LOC | \n", "Yield to Maturity (s.a.) | \n", "Yield to Maturity (conv.) | \n", "
|---|---|---|---|---|---|---|
| 0 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-01-07 | \n", "0.484 | \n", "3.06 | \n", "3.08 | \n", "
| 1 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-01-14 | \n", "0.414 | \n", "3.00 | \n", "3.03 | \n", "
| 2 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-01-21 | \n", "0.006 | \n", "3.02 | \n", "3.04 | \n", "
| 3 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-01-28 | \n", "0.208 | \n", "3.00 | \n", "3.03 | \n", "
| 4 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-02-04 | \n", "0.435 | \n", "3.01 | \n", "3.03 | \n", "
| 5 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-02-11 | \n", "0.221 | \n", "2.98 | \n", "3.00 | \n", "
| 6 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-02-18 | \n", "-1.020 | \n", "3.13 | \n", "3.16 | \n", "
| 7 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-02-25 | \n", "-0.198 | \n", "3.16 | \n", "3.19 | \n", "
| 8 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-03-04 | \n", "0.228 | \n", "3.15 | \n", "3.18 | \n", "
| 9 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-03-11 | \n", "-0.380 | \n", "3.20 | \n", "3.23 | \n", "
| 10 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-03-18 | \n", "0.343 | \n", "3.19 | \n", "3.21 | \n", "
| 11 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-03-25 | \n", "0.528 | \n", "3.15 | \n", "3.17 | \n", "
| 12 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-04-01 | \n", "0.713 | \n", "3.11 | \n", "3.13 | \n", "
| 13 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-04-08 | \n", "0.014 | \n", "3.09 | \n", "3.12 | \n", "
| 14 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-04-15 | \n", "0.515 | \n", "3.02 | \n", "3.04 | \n", "
| 15 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-04-22 | \n", "0.322 | \n", "2.98 | \n", "3.00 | \n", "
| 16 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-04-29 | \n", "0.444 | \n", "2.91 | \n", "2.94 | \n", "
| 17 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-05-06 | \n", "-0.182 | \n", "2.95 | \n", "2.97 | \n", "
| 18 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-05-13 | \n", "0.808 | \n", "2.85 | \n", "2.88 | \n", "
| 19 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2005-05-20 | \n", "-0.090 | \n", "2.89 | \n", "2.91 | \n", "