{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example usage of `sgfixedincome_pkg` (Scraper)\n", "\n", "This Jupyter Notebook vignette shows how to use some of `sgfixedincome_pkg`'s bank fixed deposit website scraping functions. The functions shown here are primarily found in `scraper.py` and `consolidate.py`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Extracting fixed deposit tables\n", "Many banks have websites with tables containing fixed deposit rates details. These tables are often formatted to look something like this (see DBS bank's page below):\n", "\n", "\n", "\n", "We provide functions to extract such tables from the website and to convert them into a pandas dataframe:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
| \n", " | Period | \n", "$1,000 - $9,999 | \n", "$10,000 - $19,999 | \n", "$20,000 - $49,999 | \n", "$50,000 - $99,999 | \n", "$100,000 - $249,999 | \n", "$250,000 - $499,999 | \n", "$500,000 - $999,999 | \n", "
|---|---|---|---|---|---|---|---|---|
| 0 | \n", "1 mth | \n", "0.3000 | \n", "0.3000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 1 | \n", "2 mths | \n", "0.5000 | \n", "0.5000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 2 | \n", "3 mths | \n", "1.0000 | \n", "1.0000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 3 | \n", "4 mths | \n", "1.4000 | \n", "1.4000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 4 | \n", "5 mths | \n", "1.7500 | \n", "1.7500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 5 | \n", "6 mths | \n", "2.1500 | \n", "2.1500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 6 | \n", "7 mths | \n", "2.3000 | \n", "2.3000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 7 | \n", "8 mths | \n", "2.3500 | \n", "2.3500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 8 | \n", "9 mths | \n", "2.3500 | \n", "2.3500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 9 | \n", "10 mths | \n", "2.4000 | \n", "2.4000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 10 | \n", "11 mths | \n", "2.4000 | \n", "2.4000 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| 11 | \n", "12 mths | \n", "2.4500 | \n", "2.4500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "0.0500 | \n", "
| \n", " | Tenure | \n", "Rate | \n", "Deposit lower bound | \n", "Deposit upper bound | \n", "
|---|---|---|---|---|
| 0 | \n", "1.0 | \n", "0.30 | \n", "1000.0 | \n", "9999.0 | \n", "
| 1 | \n", "1.0 | \n", "0.30 | \n", "10000.0 | \n", "19999.0 | \n", "
| 2 | \n", "1.0 | \n", "0.05 | \n", "20000.0 | \n", "49999.0 | \n", "
| 3 | \n", "1.0 | \n", "0.05 | \n", "50000.0 | \n", "99999.0 | \n", "
| 4 | \n", "1.0 | \n", "0.05 | \n", "100000.0 | \n", "249999.0 | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 79 | \n", "12.0 | \n", "0.05 | \n", "20000.0 | \n", "49999.0 | \n", "
| 80 | \n", "12.0 | \n", "0.05 | \n", "50000.0 | \n", "99999.0 | \n", "
| 81 | \n", "12.0 | \n", "0.05 | \n", "100000.0 | \n", "249999.0 | \n", "
| 82 | \n", "12.0 | \n", "0.05 | \n", "250000.0 | \n", "499999.0 | \n", "
| 83 | \n", "12.0 | \n", "0.05 | \n", "500000.0 | \n", "999999.0 | \n", "
84 rows × 4 columns
\n", "| \n", " | Tenure | \n", "Rate | \n", "Deposit lower bound | \n", "Deposit upper bound | \n", "Required multiples | \n", "Product provider | \n", "Product | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "1.0 | \n", "0.30 | \n", "1000.0 | \n", "9999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 1 | \n", "1.0 | \n", "0.30 | \n", "10000.0 | \n", "19999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 2 | \n", "1.0 | \n", "0.05 | \n", "20000.0 | \n", "49999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 3 | \n", "1.0 | \n", "0.05 | \n", "50000.0 | \n", "99999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 4 | \n", "1.0 | \n", "0.05 | \n", "100000.0 | \n", "249999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 79 | \n", "12.0 | \n", "0.05 | \n", "20000.0 | \n", "49999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 80 | \n", "12.0 | \n", "0.05 | \n", "50000.0 | \n", "99999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 81 | \n", "12.0 | \n", "0.05 | \n", "100000.0 | \n", "249999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 82 | \n", "12.0 | \n", "0.05 | \n", "250000.0 | \n", "499999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 83 | \n", "12.0 | \n", "0.05 | \n", "500000.0 | \n", "999999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
84 rows × 7 columns
\n", "| \n", " | Tenure | \n", "Rate | \n", "Deposit lower bound | \n", "Deposit upper bound | \n", "Required multiples | \n", "Product provider | \n", "Product | \n", "
|---|---|---|---|---|---|---|---|
| 0 | \n", "1.0 | \n", "0.30 | \n", "1000.00 | \n", "9999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 1 | \n", "1.0 | \n", "0.30 | \n", "10000.00 | \n", "19999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 2 | \n", "1.0 | \n", "0.05 | \n", "20000.00 | \n", "49999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 3 | \n", "1.0 | \n", "0.05 | \n", "50000.00 | \n", "99999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| 4 | \n", "1.0 | \n", "0.05 | \n", "100000.00 | \n", "249999.0 | \n", "None | \n", "DBS | \n", "Fixed Deposit | \n", "
| ... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "... | \n", "
| 201 | \n", "36.0 | \n", "0.20 | \n", "100000.00 | \n", "249999.0 | \n", "500 | \n", "OCBC | \n", "Fixed Deposit | \n", "
| 202 | \n", "36.0 | \n", "0.20 | \n", "250000.00 | \n", "499999.0 | \n", "500 | \n", "OCBC | \n", "Fixed Deposit | \n", "
| 203 | \n", "36.0 | \n", "0.20 | \n", "500000.00 | \n", "999999.0 | \n", "500 | \n", "OCBC | \n", "Fixed Deposit | \n", "
| 204 | \n", "48.0 | \n", "3.00 | \n", "5000.00 | \n", "20000.0 | \n", "500 | \n", "OCBC | \n", "Fixed Deposit | \n", "
| 205 | \n", "48.0 | \n", "0.20 | \n", "20000.01 | \n", "50000.0 | \n", "500 | \n", "OCBC | \n", "Fixed Deposit | \n", "
206 rows × 7 columns
\n", "