{ "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": "code", "execution_count": 12, "id": "83472648", "metadata": {}, "outputs": [], "source": [ "with fs.open('s3://projet-bdc-data/carmignac/Data Modélisation/market data/Eur Gov Indices Weekly Step.xlsx', 'rb') as f:\n", " df = pd.read_excel(f)\n", "\n", "sample_df = sample_by_blocks(df, block_size=20, num_blocks=3, random_state=42)" ] }, { "cell_type": "code", "execution_count": 13, "id": "79af063e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \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", "2008-08-22 | \n", "-0.3020 | \n", "4.210 | \n", "4.250 | \n", "
| 1 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-08-29 | \n", "0.3040 | \n", "4.180 | \n", "4.220 | \n", "
| 2 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-09-05 | \n", "0.9780 | \n", "3.990 | \n", "4.030 | \n", "
| 3 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-09-12 | \n", "-1.0580 | \n", "4.170 | \n", "4.210 | \n", "
| 4 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-09-19 | \n", "-0.2860 | \n", "4.220 | \n", "4.270 | \n", "
| 5 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-09-26 | \n", "0.6610 | \n", "4.050 | \n", "4.090 | \n", "
| 6 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-10-03 | \n", "1.8900 | \n", "3.710 | \n", "3.750 | \n", "
| 7 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-10-10 | \n", "0.0940 | \n", "3.610 | \n", "3.650 | \n", "
| 8 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-10-17 | \n", "-0.3550 | \n", "3.670 | \n", "3.700 | \n", "
| 9 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-10-24 | \n", "1.6370 | \n", "3.390 | \n", "3.420 | \n", "
| 10 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-10-31 | \n", "-0.5350 | \n", "3.410 | \n", "3.440 | \n", "
| 11 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-11-07 | \n", "1.3250 | \n", "3.200 | \n", "3.230 | \n", "
| 12 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-11-14 | \n", "0.4490 | \n", "3.070 | \n", "3.100 | \n", "
| 13 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-11-21 | \n", "1.3560 | \n", "2.890 | \n", "2.920 | \n", "
| 14 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-11-28 | \n", "0.7780 | \n", "2.860 | \n", "2.880 | \n", "
| 15 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-12-05 | \n", "1.4660 | \n", "2.690 | \n", "2.700 | \n", "
| 16 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-12-12 | \n", "-1.9100 | \n", "2.960 | \n", "2.980 | \n", "
| 17 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-12-19 | \n", "1.7980 | \n", "2.650 | \n", "2.670 | \n", "
| 18 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2008-12-26 | \n", "0.3120 | \n", "2.600 | \n", "2.620 | \n", "
| 19 | \n", "G0D0 | \n", "ICE BofA German Government Index | \n", "2009-01-02 | \n", "0.2640 | \n", "2.560 | \n", "2.570 | \n", "
| 20 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-03-11 | \n", "0.3750 | \n", "4.170 | \n", "4.210 | \n", "
| 21 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-03-18 | \n", "0.8000 | \n", "4.070 | \n", "4.100 | \n", "
| 22 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-03-25 | \n", "-0.6850 | \n", "4.170 | \n", "4.210 | \n", "
| 23 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-04-01 | \n", "-0.7850 | \n", "4.310 | \n", "4.350 | \n", "
| 24 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-04-08 | \n", "0.0230 | \n", "4.330 | \n", "4.370 | \n", "
| 25 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-04-15 | \n", "0.1680 | \n", "4.310 | \n", "4.350 | \n", "
| 26 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-04-22 | \n", "0.3205 | \n", "4.265 | \n", "4.305 | \n", "
| 27 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-04-29 | \n", "0.4730 | \n", "4.220 | \n", "4.260 | \n", "
| 28 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-05-06 | \n", "0.4550 | \n", "4.220 | \n", "4.260 | \n", "
| 29 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-05-13 | \n", "0.5170 | \n", "4.150 | \n", "4.190 | \n", "
| 30 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-05-20 | \n", "-0.1800 | \n", "4.190 | \n", "4.230 | \n", "
| 31 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-05-27 | \n", "0.4940 | \n", "4.120 | \n", "4.160 | \n", "
| 32 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-06-03 | \n", "0.2970 | \n", "4.110 | \n", "4.150 | \n", "
| 33 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-06-10 | \n", "-0.3260 | \n", "4.160 | \n", "4.200 | \n", "
| 34 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-06-17 | \n", "-0.2170 | \n", "4.170 | \n", "4.210 | \n", "
| 35 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-06-24 | \n", "-0.1350 | \n", "4.180 | \n", "4.230 | \n", "
| 36 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-07-01 | \n", "-0.0550 | \n", "4.180 | \n", "4.220 | \n", "
| 37 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-07-08 | \n", "-0.6990 | \n", "4.240 | \n", "4.290 | \n", "
| 38 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-07-15 | \n", "-0.9230 | \n", "4.350 | \n", "4.400 | \n", "
| 39 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2011-07-22 | \n", "1.1810 | \n", "4.250 | \n", "4.290 | \n", "
| 40 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-01-15 | \n", "0.1220 | \n", "0.850 | \n", "0.850 | \n", "
| 41 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-01-22 | \n", "0.2690 | \n", "0.820 | \n", "0.820 | \n", "
| 42 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-01-29 | \n", "1.1230 | \n", "0.670 | \n", "0.670 | \n", "
| 43 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-02-05 | \n", "-0.2680 | \n", "0.720 | \n", "0.720 | \n", "
| 44 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-02-12 | \n", "-0.2090 | \n", "0.750 | \n", "0.750 | \n", "
| 45 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-02-19 | \n", "0.4540 | \n", "0.690 | \n", "0.690 | \n", "
| 46 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-02-26 | \n", "0.5470 | \n", "0.620 | \n", "0.620 | \n", "
| 47 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-03-04 | \n", "-0.1540 | \n", "0.640 | \n", "0.650 | \n", "
| 48 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-03-11 | \n", "0.2800 | \n", "0.610 | \n", "0.610 | \n", "
| 49 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-03-18 | \n", "0.3570 | \n", "0.560 | \n", "0.570 | \n", "
| 50 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-03-25 | \n", "0.4110 | \n", "0.535 | \n", "0.540 | \n", "
| 51 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-04-01 | \n", "0.4650 | \n", "0.510 | \n", "0.510 | \n", "
| 52 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-04-08 | \n", "-0.1140 | \n", "0.530 | \n", "0.530 | \n", "
| 53 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-04-15 | \n", "-0.0970 | \n", "0.540 | \n", "0.540 | \n", "
| 54 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-04-22 | \n", "-0.6600 | \n", "0.630 | \n", "0.630 | \n", "
| 55 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-04-29 | \n", "-0.3380 | \n", "0.680 | \n", "0.680 | \n", "
| 56 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-05-06 | \n", "0.6500 | \n", "0.600 | \n", "0.600 | \n", "
| 57 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-05-13 | \n", "0.2110 | \n", "0.570 | \n", "0.570 | \n", "
| 58 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-05-20 | \n", "-0.1420 | \n", "0.590 | \n", "0.590 | \n", "
| 59 | \n", "EG04 | \n", "ICE BofA 7-10 Year Euro Government Index | \n", "2016-05-27 | \n", "0.4710 | \n", "0.530 | \n", "0.530 | \n", "