{
"cells": [
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Navigating Tradeoffs with Convex Optimisation\n",
"\n",
"\n",
"\n",
"So far in this book, we have:\n",
"- Introduced a general approach for doing stat arb \n",
"- Brainstormed some ideas for crypto stat arb alphas\n",
"- Explored how we might quantify and combine those alphas\n",
"- Introduced the no-trade buffer: a heuristic approach to navigating the tradeoff between uncertain alpha and certain costs\n",
"- Described how to model features as expected returns - a prerequisite for using an optimisation-based approach\n",
"- Provided a ton of examples of different optimisation problems and how they work in CVXR\n",
"\n",
"In the previous article, we built some intuition for what an optimiser does under the hood. In this article, we'll use the optimiser to navigate the tradeoffs between costs, alpha and risk. Essentially we're swapping out the simpler heuristic approach from earlier in the series for an optimisation-based approach. \n",
"\n",
"There are advantages and disadvantages to doing this:\n",
"- The heuristic approach is simple and intuitive and leads to a predictable, mechanical set of rules for managing your positions. The optimiser is a bit more black box. \n",
"- The optimisation approach accommodates real-world constraints directly.\n",
"- It also enables incorporation of risk models such as covariance estimates, Value-at-Risk, etc. In the heuristic approach, you'd have to incorporate this upstream of your rebalancing somehow. \n",
"- The optimisation-based approach is very flexible and scalable: you can add new signals or risk estimates without re-fitting anything.\n",
"\n",
"You certainly don't *need* to add the complexity of an optimisation-based approach. It's not a pre-requisite to making money. But if you have the resources to implement it (time, skills, etc) it can boost performance and allow you to scale fairly quickly by adding new signals or risk models as you develop them. \n",
"\n",
"In this final chapter, I'll show you how to simulate trading with convex optimisation. \n",
"\n",
"First, load our libraries and the dataset we've been using throughout the series:"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[1mRows: \u001b[22m\u001b[34m187251\u001b[39m \u001b[1mColumns: \u001b[22m\u001b[34m11\u001b[39m\n",
"\u001b[36m──\u001b[39m \u001b[1mColumn specification\u001b[22m \u001b[36m────────────────────────────────────────────────────────\u001b[39m\n",
"\u001b[1mDelimiter:\u001b[22m \",\"\n",
"\u001b[31mchr\u001b[39m (1): ticker\n",
"\u001b[32mdbl\u001b[39m (9): open, high, low, close, dollar_volume, num_trades, taker_buy_volum...\n",
"\u001b[34mdate\u001b[39m (1): date\n",
"\n",
"\u001b[36mℹ\u001b[39m Use `spec()` to retrieve the full column specification for this data.\n",
"\u001b[36mℹ\u001b[39m Specify the column types or set `show_col_types = FALSE` to quiet this message.\n"
]
},
{
"data": {
"text/html": [
"
\n",
"A tibble: 6 × 11\n",
"\n",
"\tticker | date | open | high | low | close | dollar_volume | num_trades | taker_buy_volume | taker_buy_quote_volumne | funding_rate |
\n",
"\t<chr> | <date> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\tBTCUSDT | 2019-09-11 | 10172.13 | 10293.11 | 9884.31 | 9991.84 | 85955369 | 10928 | 5169.153 | 52110075 | -3e-04 |
\n",
"\tBTCUSDT | 2019-09-12 | 9992.18 | 10365.15 | 9934.11 | 10326.58 | 157223498 | 19384 | 11822.980 | 119810012 | -3e-04 |
\n",
"\tBTCUSDT | 2019-09-13 | 10327.25 | 10450.13 | 10239.42 | 10296.57 | 189055129 | 25370 | 9198.551 | 94983470 | -3e-04 |
\n",
"\tBTCUSDT | 2019-09-14 | 10294.81 | 10396.40 | 10153.51 | 10358.00 | 206031349 | 31494 | 9761.462 | 100482121 | -3e-04 |
\n",
"\tBTCUSDT | 2019-09-15 | 10355.61 | 10419.97 | 10024.81 | 10306.37 | 211326874 | 27512 | 7418.716 | 76577710 | -3e-04 |
\n",
"\tBTCUSDT | 2019-09-16 | 10306.79 | 10353.81 | 10115.00 | 10120.07 | 208211376 | 29030 | 7564.376 | 77673986 | -3e-04 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 11\n",
"\\begin{tabular}{lllllllllll}\n",
" ticker & date & open & high & low & close & dollar\\_volume & num\\_trades & taker\\_buy\\_volume & taker\\_buy\\_quote\\_volumne & funding\\_rate\\\\\n",
" & & & & & & & & & & \\\\\n",
"\\hline\n",
"\t BTCUSDT & 2019-09-11 & 10172.13 & 10293.11 & 9884.31 & 9991.84 & 85955369 & 10928 & 5169.153 & 52110075 & -3e-04\\\\\n",
"\t BTCUSDT & 2019-09-12 & 9992.18 & 10365.15 & 9934.11 & 10326.58 & 157223498 & 19384 & 11822.980 & 119810012 & -3e-04\\\\\n",
"\t BTCUSDT & 2019-09-13 & 10327.25 & 10450.13 & 10239.42 & 10296.57 & 189055129 & 25370 & 9198.551 & 94983470 & -3e-04\\\\\n",
"\t BTCUSDT & 2019-09-14 & 10294.81 & 10396.40 & 10153.51 & 10358.00 & 206031349 & 31494 & 9761.462 & 100482121 & -3e-04\\\\\n",
"\t BTCUSDT & 2019-09-15 & 10355.61 & 10419.97 & 10024.81 & 10306.37 & 211326874 & 27512 & 7418.716 & 76577710 & -3e-04\\\\\n",
"\t BTCUSDT & 2019-09-16 & 10306.79 & 10353.81 & 10115.00 & 10120.07 & 208211376 & 29030 & 7564.376 & 77673986 & -3e-04\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 11\n",
"\n",
"| ticker <chr> | date <date> | open <dbl> | high <dbl> | low <dbl> | close <dbl> | dollar_volume <dbl> | num_trades <dbl> | taker_buy_volume <dbl> | taker_buy_quote_volumne <dbl> | funding_rate <dbl> |\n",
"|---|---|---|---|---|---|---|---|---|---|---|\n",
"| BTCUSDT | 2019-09-11 | 10172.13 | 10293.11 | 9884.31 | 9991.84 | 85955369 | 10928 | 5169.153 | 52110075 | -3e-04 |\n",
"| BTCUSDT | 2019-09-12 | 9992.18 | 10365.15 | 9934.11 | 10326.58 | 157223498 | 19384 | 11822.980 | 119810012 | -3e-04 |\n",
"| BTCUSDT | 2019-09-13 | 10327.25 | 10450.13 | 10239.42 | 10296.57 | 189055129 | 25370 | 9198.551 | 94983470 | -3e-04 |\n",
"| BTCUSDT | 2019-09-14 | 10294.81 | 10396.40 | 10153.51 | 10358.00 | 206031349 | 31494 | 9761.462 | 100482121 | -3e-04 |\n",
"| BTCUSDT | 2019-09-15 | 10355.61 | 10419.97 | 10024.81 | 10306.37 | 211326874 | 27512 | 7418.716 | 76577710 | -3e-04 |\n",
"| BTCUSDT | 2019-09-16 | 10306.79 | 10353.81 | 10115.00 | 10120.07 | 208211376 | 29030 | 7564.376 | 77673986 | -3e-04 |\n",
"\n"
],
"text/plain": [
" ticker date open high low close dollar_volume\n",
"1 BTCUSDT 2019-09-11 10172.13 10293.11 9884.31 9991.84 85955369 \n",
"2 BTCUSDT 2019-09-12 9992.18 10365.15 9934.11 10326.58 157223498 \n",
"3 BTCUSDT 2019-09-13 10327.25 10450.13 10239.42 10296.57 189055129 \n",
"4 BTCUSDT 2019-09-14 10294.81 10396.40 10153.51 10358.00 206031349 \n",
"5 BTCUSDT 2019-09-15 10355.61 10419.97 10024.81 10306.37 211326874 \n",
"6 BTCUSDT 2019-09-16 10306.79 10353.81 10115.00 10120.07 208211376 \n",
" num_trades taker_buy_volume taker_buy_quote_volumne funding_rate\n",
"1 10928 5169.153 52110075 -3e-04 \n",
"2 19384 11822.980 119810012 -3e-04 \n",
"3 25370 9198.551 94983470 -3e-04 \n",
"4 31494 9761.462 100482121 -3e-04 \n",
"5 27512 7418.716 76577710 -3e-04 \n",
"6 29030 7564.376 77673986 -3e-04 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# session options\n",
"options(repr.plot.width = 14, repr.plot.height=7, warn = -1)\n",
"\n",
"library(tidyverse)\n",
"library(tidyfit)\n",
"library(glue)\n",
"library(CVXR)\n",
"library(tibbletime)\n",
"library(roll)\n",
"library(patchwork)\n",
"pacman::p_load_current_gh(\"Robot-Wealth/rsims\", dependencies = TRUE) \n",
"\n",
"# chart options\n",
"theme_set(theme_bw())\n",
"theme_update(text = element_text(size = 20))\n",
"\n",
"# data\n",
"perps <- read_csv(\"https://github.com/Robot-Wealth/r-quant-recipes/raw/master/quantifying-combining-alphas/binance_perp_daily.csv\")\n",
"head(perps)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For the purposes of this example, we'll create the same crypto universe that we used last time - the top 30 Binance perpetual futures contracts by trailing 30-day dollar-volume, with stables and wrapped tokens removed. \n",
"\n",
"We'll also calculate returns at this step for later use. "
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# get same universe as before - top 30 by rolling 30-day dollar volume, no stables\n",
"\n",
"# remove stablecoins\n",
"# list of stablecoins from defi llama\n",
"url <- \"https://stablecoins.llama.fi/stablecoins?includePrices=true\"\n",
"response <- httr::GET(url)\n",
"\n",
"stables <- response %>%\n",
" httr::content(as = \"text\", encoding = \"UTF-8\") %>%\n",
" jsonlite::fromJSON(flatten = TRUE) %>%\n",
" pluck(\"peggedAssets\") %>%\n",
" pull(symbol)\n",
"\n",
"# sort(stables)\n",
"\n",
"perps <- perps %>% \n",
" filter(!ticker %in% glue::glue(\"{stables}USDT\")) "
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"# get the top 30 by trailing 30-day volume\n",
"# exclude from universe until we have enough data to do a covariance estimate (see later)\n",
"trading_universe_size <- 30\n",
"ew_cov_init_wdw <- 30\n",
"\n",
"universe <- perps %>%\n",
" group_by(ticker) %>% \n",
" # also calculate returns for later\n",
" mutate(\n",
" total_return_simple = funding_rate + (close - lag(close, 1))/lag(close, 1),\n",
" total_return_log = log(1 + total_return_simple),\n",
" total_fwd_return_simple = dplyr::lead(funding_rate, 1) + (dplyr::lead(close, 1) - close)/close,\n",
" total_fwd_return_log = log(1 + total_fwd_return_simple),\n",
" trail_volume = roll_mean(dollar_volume, 30)\n",
" ) %>% \n",
" mutate(days_since_listing = row_number()) %>% # the number of days we have data for each ticker\n",
" na.omit() %>%\n",
" ungroup() %>% \n",
" # exclude from volume ranking - won't matter if we use a rolling volume calculated with more than the covariance initialisation window as will drop these rows using na.omit\n",
" mutate(to_exclude = days_since_listing < ew_cov_init_wdw) %>% \n",
" group_by(date) %>%\n",
" mutate(\n",
" volume_rank = if_else(to_exclude, NA_integer_, row_number(-trail_volume)),\n",
" is_universe = volume_rank <= trading_universe_size,\n",
" ) \n",
"\n",
"universe %>%\n",
" group_by(date, is_universe) %>%\n",
" summarize(count = n(), .groups = \"drop\") %>%\n",
" ggplot(aes(x=date, y=count, color = is_universe)) + \n",
" geom_line() + \n",
" labs(\n",
" title = 'Universe size'\n",
")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Calculate features\n",
"\n",
"Next, calculate our features as before. We have: \n",
"- Short-term (10-day) cross-sectional momentum (bucketed into deciles by date)\n",
"- Short-term (1-day) cross-sectional carry (also bucketed into deciles by date)\n",
"- A breakout feature defined as the number of days since the 20-day high which we use as a time-series return predictor. "
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# calculate features as before\n",
"rolling_days_since_high_20 <- purrr::possibly(\n",
" tibbletime::rollify(\n",
" function(x) {\n",
" idx_of_high <- which.max(x)\n",
" days_since_high <- length(x) - idx_of_high\n",
" days_since_high\n",
" }, \n",
" window = 20, na_value = NA), \n",
" otherwise = NA\n",
")\n",
"\n",
"features <- universe %>%\n",
" group_by(ticker) %>%\n",
" arrange(date) %>%\n",
" mutate(\n",
" breakout = 9.5 - rolling_days_since_high_20(close), # puts this feature on a scale -9.5 to +9.5\n",
" momo = close - lag(close, 10)/close,\n",
" carry = funding_rate\n",
" ) %>%\n",
" ungroup() %>% \n",
" na.omit()\n",
"\n",
"# create a model df on our universe with momo and carry features scaled into deciles\n",
"model_df <- features %>%\n",
" filter(is_universe) %>% \n",
" group_by(date) %>%\n",
" mutate(\n",
" carry_decile = ntile(carry, 10),\n",
" momo_decile = ntile(momo, 10),\n",
" # also calculate demeaned return for everything in our universe each day for later\n",
" demeaned_return = total_return_simple - mean(total_return_simple, na.rm = TRUE),\n",
" demeaned_fwd_return = total_fwd_return_simple - mean(total_fwd_return_simple, na.rm = TRUE)\n",
" ) %>% \n",
" ungroup()\n",
"\n",
" # start simulation from date we first have n tickers in the universe\n",
"start_date <- features %>%\n",
" group_by(date, is_universe) %>%\n",
" summarize(count = n(), .groups = \"drop\") %>%\n",
" filter(count >= trading_universe_size) %>%\n",
" head(1) %>%\n",
" pull(date)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Model expected returns\n",
"\n",
"We'll model our features as expected returns. See [here]((https://robotwealth.com/how-to-model-features-as-expected-returns/)) for a detailed exploration of this topic. "
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# use a 90-day window and refit every 10 days\n",
"is_days <- 90\n",
"step_size <- trading_universe_size*10 \n",
"\n",
"# rolling model for cross-sectional features\n",
"roll_xs_coeffs_df <- model_df %>% \n",
" filter(date >= start_date) %>% \n",
" regress(\n",
" demeaned_fwd_return ~ carry_decile + momo_decile,\n",
" m(\"lm\", vcov. = \"HAC\"), \n",
" .cv = \"sliding_index\", \n",
" .cv_args = list(lookback = days(is_days), step = step_size, index = \"date\"), \n",
" .force_cv = TRUE, \n",
" .return_slices = TRUE\n",
" )\n",
"\n",
"# rolling model for time series features \n",
"breakout_cutoff <- 5.5 # below this level, we set our expected return to zero\n",
"roll_ts_coeffs_df <- model_df %>% \n",
" filter(date >= start_date) %>% \n",
" # setting regression weights to zero when breakout < breakout_cutoff will give these data points zero weight in estimating coefficients\n",
" mutate(regression_weights = case_when(breakout < breakout_cutoff ~ 0, TRUE ~ 1)) %>% \n",
" regress(\n",
" total_fwd_return_simple ~ breakout,\n",
" m(\"lm\", vcov. = \"HAC\"), \n",
" .weights = \"regression_weights\", \n",
" .cv = \"sliding_index\", \n",
" .cv_args = list(lookback = days(is_days), step = step_size, index = \"date\"), \n",
" .force_cv = TRUE, \n",
" .return_slices = TRUE\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This results in a nested dataframe that contains the model objects and various metadata:"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tidyfit.models: 6 × 7\n",
"\n",
"\tmodel | estimator_fct | size (MB) | grid_id | model_object | settings | slice_id |
\n",
"\t<chr> | <chr> | <dbl> | <chr> | <list> | <list> | <chr> |
\n",
"\n",
"\n",
"\tlm | stats::lm | 1.360960 | #0010000 | <environment: 0x000002c9993fbe90> | HAC | 2021-02-11 |
\n",
"\tlm | stats::lm | 1.367016 | #0010000 | <environment: 0x000002c9994915b8> | HAC | 2021-02-21 |
\n",
"\tlm | stats::lm | 1.380032 | #0010000 | <environment: 0x000002c9997f4918> | HAC | 2021-03-03 |
\n",
"\tlm | stats::lm | 1.384864 | #0010000 | <environment: 0x000002c999c1dc98> | HAC | 2021-03-13 |
\n",
"\tlm | stats::lm | 1.384808 | #0010000 | <environment: 0x000002c999f2ada0> | HAC | 2021-03-23 |
\n",
"\tlm | stats::lm | 1.384944 | #0010000 | <environment: 0x000002c98f421ae8> | HAC | 2021-04-02 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tidyfit.models: 6 × 7\n",
"\\begin{tabular}{lllllll}\n",
" model & estimator\\_fct & size (MB) & grid\\_id & model\\_object & settings & slice\\_id\\\\\n",
" & & & & & & \\\\\n",
"\\hline\n",
"\t lm & stats::lm & 1.360960 & \\#0010000 & & HAC & 2021-02-11\\\\\n",
"\t lm & stats::lm & 1.367016 & \\#0010000 & & HAC & 2021-02-21\\\\\n",
"\t lm & stats::lm & 1.380032 & \\#0010000 & & HAC & 2021-03-03\\\\\n",
"\t lm & stats::lm & 1.384864 & \\#0010000 & & HAC & 2021-03-13\\\\\n",
"\t lm & stats::lm & 1.384808 & \\#0010000 & & HAC & 2021-03-23\\\\\n",
"\t lm & stats::lm & 1.384944 & \\#0010000 & & HAC & 2021-04-02\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tidyfit.models: 6 × 7\n",
"\n",
"| model <chr> | estimator_fct <chr> | size (MB) <dbl> | grid_id <chr> | model_object <list> | settings <list> | slice_id <chr> |\n",
"|---|---|---|---|---|---|---|\n",
"| lm | stats::lm | 1.360960 | #0010000 | <environment: 0x000002c9993fbe90> | HAC | 2021-02-11 |\n",
"| lm | stats::lm | 1.367016 | #0010000 | <environment: 0x000002c9994915b8> | HAC | 2021-02-21 |\n",
"| lm | stats::lm | 1.380032 | #0010000 | <environment: 0x000002c9997f4918> | HAC | 2021-03-03 |\n",
"| lm | stats::lm | 1.384864 | #0010000 | <environment: 0x000002c999c1dc98> | HAC | 2021-03-13 |\n",
"| lm | stats::lm | 1.384808 | #0010000 | <environment: 0x000002c999f2ada0> | HAC | 2021-03-23 |\n",
"| lm | stats::lm | 1.384944 | #0010000 | <environment: 0x000002c98f421ae8> | HAC | 2021-04-02 |\n",
"\n"
],
"text/plain": [
" model estimator_fct size (MB) grid_id model_object \n",
"1 lm stats::lm 1.360960 #0010000 \n",
"2 lm stats::lm 1.367016 #0010000 \n",
"3 lm stats::lm 1.380032 #0010000 \n",
"4 lm stats::lm 1.384864 #0010000 \n",
"5 lm stats::lm 1.384808 #0010000 \n",
"6 lm stats::lm 1.384944 #0010000 \n",
" settings slice_id \n",
"1 HAC 2021-02-11\n",
"2 HAC 2021-02-21\n",
"3 HAC 2021-03-03\n",
"4 HAC 2021-03-13\n",
"5 HAC 2021-03-23\n",
"6 HAC 2021-04-02"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"\n",
"A tidyfit.models: 6 × 6\n",
"\n",
"\tmodel | estimator_fct | size (MB) | grid_id | model_object | slice_id |
\n",
"\t<chr> | <chr> | <dbl> | <chr> | <list> | <chr> |
\n",
"\n",
"\n",
"\tlm | stats::lm | 1.245552 | #0010000 | <environment: 0x000002c99633fe90> | 2021-02-11 |
\n",
"\tlm | stats::lm | 1.257864 | #0010000 | <environment: 0x000002c995893588> | 2021-02-21 |
\n",
"\tlm | stats::lm | 1.254896 | #0010000 | <environment: 0x000002c989f4bd30> | 2021-03-03 |
\n",
"\tlm | stats::lm | 1.255688 | #0010000 | <environment: 0x000002c9891edc98> | 2021-03-13 |
\n",
"\tlm | stats::lm | 1.260624 | #0010000 | <environment: 0x000002c988f475b8> | 2021-03-23 |
\n",
"\tlm | stats::lm | 1.257784 | #0010000 | <environment: 0x000002c987e70f28> | 2021-04-02 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tidyfit.models: 6 × 6\n",
"\\begin{tabular}{llllll}\n",
" model & estimator\\_fct & size (MB) & grid\\_id & model\\_object & slice\\_id\\\\\n",
" & & & & & \\\\\n",
"\\hline\n",
"\t lm & stats::lm & 1.245552 & \\#0010000 & & 2021-02-11\\\\\n",
"\t lm & stats::lm & 1.257864 & \\#0010000 & & 2021-02-21\\\\\n",
"\t lm & stats::lm & 1.254896 & \\#0010000 & & 2021-03-03\\\\\n",
"\t lm & stats::lm & 1.255688 & \\#0010000 & & 2021-03-13\\\\\n",
"\t lm & stats::lm & 1.260624 & \\#0010000 & & 2021-03-23\\\\\n",
"\t lm & stats::lm & 1.257784 & \\#0010000 & & 2021-04-02\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tidyfit.models: 6 × 6\n",
"\n",
"| model <chr> | estimator_fct <chr> | size (MB) <dbl> | grid_id <chr> | model_object <list> | slice_id <chr> |\n",
"|---|---|---|---|---|---|\n",
"| lm | stats::lm | 1.245552 | #0010000 | <environment: 0x000002c99633fe90> | 2021-02-11 |\n",
"| lm | stats::lm | 1.257864 | #0010000 | <environment: 0x000002c995893588> | 2021-02-21 |\n",
"| lm | stats::lm | 1.254896 | #0010000 | <environment: 0x000002c989f4bd30> | 2021-03-03 |\n",
"| lm | stats::lm | 1.255688 | #0010000 | <environment: 0x000002c9891edc98> | 2021-03-13 |\n",
"| lm | stats::lm | 1.260624 | #0010000 | <environment: 0x000002c988f475b8> | 2021-03-23 |\n",
"| lm | stats::lm | 1.257784 | #0010000 | <environment: 0x000002c987e70f28> | 2021-04-02 |\n",
"\n"
],
"text/plain": [
" model estimator_fct size (MB) grid_id model_object \n",
"1 lm stats::lm 1.245552 #0010000 \n",
"2 lm stats::lm 1.257864 #0010000 \n",
"3 lm stats::lm 1.254896 #0010000 \n",
"4 lm stats::lm 1.255688 #0010000 \n",
"5 lm stats::lm 1.260624 #0010000 \n",
"6 lm stats::lm 1.257784 #0010000 \n",
" slice_id \n",
"1 2021-02-11\n",
"2 2021-02-21\n",
"3 2021-03-03\n",
"4 2021-03-13\n",
"5 2021-03-23\n",
"6 2021-04-02"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"roll_xs_coeffs_df %>% head\n",
"roll_ts_coeffs_df %>% select(-settings) %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"`slice_id` is the date the model goes out of sample - so we'll need to make sure that we align our model coefficients to avoid using them on the data they were fitted on. \n",
"\n",
"This requires a little data wrangling:"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 5\n",
"\n",
"\tslice_id | xs_intercept | carry_decile | momo_decile | slice_id_oos |
\n",
"\t<date> | <dbl> | <dbl> | <dbl> | <date> |
\n",
"\n",
"\n",
"\t2021-02-11 | -0.004872208 | 0.001732322 | -0.0008239738 | 2021-02-21 |
\n",
"\t2021-02-21 | -0.006129608 | 0.001902553 | -0.0007640190 | 2021-03-03 |
\n",
"\t2021-03-03 | -0.009538180 | 0.002148154 | -0.0003897220 | 2021-03-13 |
\n",
"\t2021-03-13 | -0.008374302 | 0.001953655 | -0.0004141515 | 2021-03-23 |
\n",
"\t2021-03-23 | -0.008275046 | 0.002211137 | -0.0006898811 | 2021-04-02 |
\n",
"\t2021-04-02 | -0.008613423 | 0.002413307 | -0.0008298451 | 2021-04-12 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 5\n",
"\\begin{tabular}{lllll}\n",
" slice\\_id & xs\\_intercept & carry\\_decile & momo\\_decile & slice\\_id\\_oos\\\\\n",
" & & & & \\\\\n",
"\\hline\n",
"\t 2021-02-11 & -0.004872208 & 0.001732322 & -0.0008239738 & 2021-02-21\\\\\n",
"\t 2021-02-21 & -0.006129608 & 0.001902553 & -0.0007640190 & 2021-03-03\\\\\n",
"\t 2021-03-03 & -0.009538180 & 0.002148154 & -0.0003897220 & 2021-03-13\\\\\n",
"\t 2021-03-13 & -0.008374302 & 0.001953655 & -0.0004141515 & 2021-03-23\\\\\n",
"\t 2021-03-23 & -0.008275046 & 0.002211137 & -0.0006898811 & 2021-04-02\\\\\n",
"\t 2021-04-02 & -0.008613423 & 0.002413307 & -0.0008298451 & 2021-04-12\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 5\n",
"\n",
"| slice_id <date> | xs_intercept <dbl> | carry_decile <dbl> | momo_decile <dbl> | slice_id_oos <date> |\n",
"|---|---|---|---|---|\n",
"| 2021-02-11 | -0.004872208 | 0.001732322 | -0.0008239738 | 2021-02-21 |\n",
"| 2021-02-21 | -0.006129608 | 0.001902553 | -0.0007640190 | 2021-03-03 |\n",
"| 2021-03-03 | -0.009538180 | 0.002148154 | -0.0003897220 | 2021-03-13 |\n",
"| 2021-03-13 | -0.008374302 | 0.001953655 | -0.0004141515 | 2021-03-23 |\n",
"| 2021-03-23 | -0.008275046 | 0.002211137 | -0.0006898811 | 2021-04-02 |\n",
"| 2021-04-02 | -0.008613423 | 0.002413307 | -0.0008298451 | 2021-04-12 |\n",
"\n"
],
"text/plain": [
" slice_id xs_intercept carry_decile momo_decile slice_id_oos\n",
"1 2021-02-11 -0.004872208 0.001732322 -0.0008239738 2021-02-21 \n",
"2 2021-02-21 -0.006129608 0.001902553 -0.0007640190 2021-03-03 \n",
"3 2021-03-03 -0.009538180 0.002148154 -0.0003897220 2021-03-13 \n",
"4 2021-03-13 -0.008374302 0.001953655 -0.0004141515 2021-03-23 \n",
"5 2021-03-23 -0.008275046 0.002211137 -0.0006898811 2021-04-02 \n",
"6 2021-04-02 -0.008613423 0.002413307 -0.0008298451 2021-04-12 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# for this to work, need to install.packages(\"sandwich\", \"lmtest\")\n",
"xs_coefs <- roll_xs_coeffs_df %>% \n",
" coef()\n",
"\n",
"xs_coefs_df <- xs_coefs %>% \n",
" ungroup() %>% \n",
" select(term, estimate, slice_id) %>% \n",
" pivot_wider(id_cols = slice_id, names_from = term, values_from = estimate) %>% \n",
" mutate(slice_id = as_date(slice_id)) %>% \n",
" # need to lag slice id to make it oos\n",
" # slice_id_oos is the date we start using the parameters\n",
" mutate(slice_id_oos = lead(slice_id)) %>% \n",
" rename(\"xs_intercept\" = `(Intercept)`)\n",
"\n",
"ts_coefs <- roll_ts_coeffs_df %>% \n",
" coef()\n",
"\n",
"ts_coefs_df <- ts_coefs %>% \n",
" ungroup() %>% \n",
" select(term, estimate, slice_id) %>% \n",
" pivot_wider(id_cols = slice_id, names_from = term, values_from = estimate) %>% \n",
" mutate(slice_id = as_date(slice_id)) %>% \n",
" # need to lag slice id to make it oos\n",
" # slice_id_oos is the date we start using the parameters\n",
" mutate(slice_id_oos = lead(slice_id)) %>% \n",
" rename(\"ts_intercept\" = `(Intercept)`)\n",
"\n",
"xs_coefs_df %>% head\n",
"# ts_coefs_df %>% head"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's a plot of our cross-sectional features' regression coefficients through time:"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"# plot cross-sectional estimates\n",
"xs_coefs_df %>% \n",
" select(-slice_id) %>% \n",
" pivot_longer(cols = -slice_id_oos, names_to = \"coefficient\", values_to = \"estimate\") %>% \n",
" ggplot(aes(x = slice_id_oos, y = estimate)) +\n",
" geom_line() +\n",
" facet_wrap(~coefficient, ncol = 1, scales = \"free_y\") +\n",
" labs(\n",
" title = \"Cross-sectional features model parameters\",\n",
" x = \"Date\",\n",
" y = \"Estimate\"\n",
" )\n",
"\n",
"# plot time-series estimates\n",
"# ts_coefs_df %>% \n",
"# select(-slice_id) %>% \n",
"# pivot_longer(cols = -slice_id_oos, names_to = \"coefficient\", values_to = \"estimate\") %>% \n",
"# ggplot(aes(x = slice_id_oos, y = estimate)) +\n",
"# geom_line() +\n",
"# facet_wrap(~coefficient, ncol = 1, scales = \"free_y\") +\n",
"# labs(\n",
"# title = \"Time-series features model parameters\",\n",
"# x = \"Date\",\n",
"# y = \"Estimate\"\n",
"# )"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"The estimates for the coefficients for our carry and momentum features change over time to reflect the changing relationship with forward returns. \n",
"\n",
"In particular, notice how the momentum coefficient flipped sign a few times, but especially from mid-2022, which is in line with our understanding of how the feature evolved. "
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Plot frictionless returns to our features\n",
"\n",
"Now we can plot a time series of returns to a frictionless trading strategy based on these expected return estimates. This isn't a backtest - it makes no attempt to address real-world issues such as costs and turnover. It simply plots the returns to our predictions of expected returns over time.\n",
"\n",
"I won't actually use the linear model of the breakout feature - instead I'll just set its expected return to 0.002 when it's greater than 5 and 0 otherwise. \n",
"\n",
"I'll calculate target positions proportional to their cross-sectional return estimates. I'll then let the breakout feature tilt the portfolio net long, but I'll constrain the maximum delta that this feature can add to a position."
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"# join and fill using slice_id to designate when the model goes oos\n",
"exp_return_df <- model_df %>% \n",
" left_join(\n",
" xs_coefs_df %>% left_join(ts_coefs_df, by = c(\"slice_id\", \"slice_id_oos\")), \n",
" by = join_by(closest(date > slice_id_oos)), suffix = c(\"_factor\", \"_coef\")\n",
" ) %>% \n",
" na.omit() %>% \n",
" # forecast cross-sectional expected return as\n",
" mutate(expected_xs_return = carry_decile_factor*carry_decile_coef + momo_decile_factor*momo_decile_coef + xs_intercept ) %>% \n",
" # mean expected xs return each day is zero\n",
" # let total expected return be xs return + ts return - allows time series expected return to tilt weights\n",
" mutate(expected_ts_return = case_when(breakout_factor >= 5.5 ~ 0.002, TRUE ~ 0)) %>% \n",
" ungroup() \n",
"\n",
"# long-short the xs expected return\n",
"# layer ts expected return on top\n",
"# position by expected return\n",
"\n",
"# 1 in the numerator lets it get max 100% long due to breakout\n",
"max_ts_pos <- 0.5/trading_universe_size\n",
"\n",
"strategy_df <- exp_return_df %>% \n",
" filter(date >= start_date) %>% \n",
" group_by(date) %>% \n",
" mutate(xs_position = expected_xs_return - mean(expected_xs_return, na.rm = TRUE)) %>% \n",
" # scale positions so that leverage is 1\n",
" group_by(date) %>% \n",
" mutate(xs_position = if_else(xs_position == 0, 0, xs_position/sum(abs(xs_position)))) %>%\n",
" # layer ts expected return prediction\n",
" ungroup() %>% \n",
" mutate(ts_position = sign(expected_ts_return)) %>% \n",
" # constrain maximum delta added by time series prediction\n",
" mutate(ts_position = if_else(ts_position >= 0, pmin(ts_position, max_ts_pos), pmax(ts_position, -max_ts_pos))) %>% \n",
" mutate(position = xs_position + ts_position) %>% \n",
" # strategy return\n",
" mutate(strat_return = position*total_fwd_return_simple) %>% \n",
" # scale back to leverage 1\n",
" group_by(date) %>% \n",
" mutate(position = if_else(position == 0, 0, position/sum(abs(position)))) \n",
" \n",
"returns_plot <- strategy_df %>%\n",
" group_by(date) %>% \n",
" summarise(total_ret = sum(strat_return)) %>% \n",
" ggplot(aes(x = date, y = cumsum(log(1+total_ret)))) +\n",
" geom_line() +\n",
" labs(\n",
" title = \"Cumulative strategy return\",\n",
" y = \"Cumulative return\"\n",
" )\n",
"\n",
"weights_plot <- strategy_df %>%\n",
" summarise(net_pos = sum(position)) %>% \n",
" ggplot(aes(x = date, y = net_pos)) +\n",
" geom_line() +\n",
" labs(\n",
" x = \"Date\",\n",
" y = \"Net Weight\"\n",
" )\n",
"\n",
"returns_plot / weights_plot + plot_layout(heights = c(2,1))"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Setting up the optimisation framework\n",
"\n",
"There are a few things we need for our optimisation framework: \n",
"- A dataframe of prices and expected returns for all the tickers that were ever in the universe\n",
"- A risk model - we'll use a shrunk exponentially weighted covariance matrix\n",
"- We'll need a covariance matrix for each day of our simulation, so we'll compute these prior to running the simulation and store them in a list\n",
"- We'll also need a function for doing the optimisation at each time step and returning the weights for the next period\n",
"- Finally, we'll need to figure out appropriate values for lambda and tau (the parameters that control our risk and propensity to trade). We'll do this by testing out a few values on a sample of our data. We'll do this using parallel processing to speed things up a bit. \n",
"\n",
"Then, we can do our actual simulation. \n",
"\n",
"### Prices and expected returns dataframes\n",
"\n",
"First, we make a dataframe of prices and expected returns for all the tickers that were ever in the tradeable universe:"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# tickers that were ever in the universe\n",
"universe_tickers <- features %>%\n",
" filter(is_universe) %>%\n",
" pull(ticker) %>%\n",
" unique()\n",
"\n",
"# universe_tickers"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"strategy_df <- exp_return_df %>% \n",
" filter(date >= start_date) %>% \n",
" group_by(date) %>% \n",
" mutate(expected_xs_return = expected_xs_return - mean(expected_xs_return, na.rm = TRUE)) %>% \n",
" ungroup() %>% \n",
" mutate(expected_return = expected_xs_return + expected_ts_return) %>% \n",
" select(date, ticker, expected_return) %>% \n",
" # join back onto df of prices for all tickers that were ever in the universe\n",
" # so that we have prices before and after a ticker comes into or out of the universe\n",
" # for backtesting purposes\n",
" right_join(\n",
" features %>% \n",
" filter(ticker %in% universe_tickers) %>% \n",
" select(date, ticker, close, total_fwd_return_simple, funding_rate), \n",
" by = c(\"date\", \"ticker\")\n",
" ) %>% \n",
" arrange(date, ticker) %>%\n",
" filter(date >= start_date)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# get same length exp returns vector for each date\n",
"exp_returns_wide <- strategy_df %>% \n",
" select(ticker, date, expected_return) %>% \n",
" # will give NA where a ticker didn't exist\n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = expected_return)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Risk model \n",
"\n",
"Next, we need a risk model for each day in our simulation. \n",
"\n",
"We'll use an exponentially weighted covariance estimate - this puts more weight on recent data and less on the past and tends to remove the big jumps you get using a fixed window approach. See [here](https://robotwealth.com/an-expenonetially-weighted-covariance-matrix-in-r/) for more details on this approach. \n",
"\n",
"We'll also shrink our covariance matrix:\n",
"- Off-diagonal elements (covariances) will be shrunk towards zero to reflect our uncertainty.\n",
"- On-diagonal elements (variances) will be shrunk towards the average variance.\n",
"\n",
"First, make our exponentially weighted covariance estimates:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# EWMA covariance estimate\n",
"# note definition of lambda in line with Risk Metrics\n",
"# ie higher values of lambda put less weight on the most recent returns and more weight on historical returns.\n",
"ewma_cov <- function(x, y, lambda, initialisation_wdw = 100) {\n",
" # check that x and y are the same length and greater than initialisation_wdw\n",
" stopifnot(\"x and y must be of equal length\" = length(x) == length(y))\n",
" if(length(x) <= initialisation_wdw) {\n",
" ewma_cov <- rep(NA, length(x))\n",
" return(ewma_cov)\n",
" }\n",
"\n",
" # create initialisation window and estimation window\n",
" init_x = x[1:initialisation_wdw]\n",
" init_y = y[1:initialisation_wdw]\n",
"\n",
" num_obs <- length(x)\n",
"\n",
" # initial covariance and mean return estimates\n",
" old_cov <- cov(init_x, init_y)\n",
" old_x <- mean(init_x)\n",
" old_y <- mean(init_y)\n",
"\n",
" # preallocate output vector\n",
" ewma_cov <- vector(mode = \"numeric\", length = num_obs)\n",
"\n",
" # pad with NA for initialisation window\n",
" ewma_cov[1:initialisation_wdw] <- NA\n",
"\n",
" # covariance estimate\n",
" for(i in c((initialisation_wdw+1):num_obs)) {\n",
" ewma_cov[i] <- lambda*old_cov + (1 - lambda)*(old_x * old_y)\n",
" old_cov <- ewma_cov[i]\n",
" old_x <- x[i]\n",
" old_y <- y[i]\n",
" }\n",
" ewma_cov\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 5\n",
"\n",
"\tdate | tickers | ewma_cov | ticker.x | ticker.y |
\n",
"\t<date> | <chr> | <dbl> | <chr> | <chr> |
\n",
"\n",
"\n",
"\t2024-02-07 | ZRXUSDT, ZRXUSDT | 0.003337849 | ZRXUSDT | ZRXUSDT |
\n",
"\t2024-02-08 | ZRXUSDT, ZRXUSDT | 0.003321164 | ZRXUSDT | ZRXUSDT |
\n",
"\t2024-02-09 | ZRXUSDT, ZRXUSDT | 0.003306101 | ZRXUSDT | ZRXUSDT |
\n",
"\t2024-02-10 | ZRXUSDT, ZRXUSDT | 0.003290074 | ZRXUSDT | ZRXUSDT |
\n",
"\t2024-02-11 | ZRXUSDT, ZRXUSDT | 0.003274115 | ZRXUSDT | ZRXUSDT |
\n",
"\t2024-02-12 | ZRXUSDT, ZRXUSDT | 0.003259633 | ZRXUSDT | ZRXUSDT |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 5\n",
"\\begin{tabular}{lllll}\n",
" date & tickers & ewma\\_cov & ticker.x & ticker.y\\\\\n",
" & & & & \\\\\n",
"\\hline\n",
"\t 2024-02-07 & ZRXUSDT, ZRXUSDT & 0.003337849 & ZRXUSDT & ZRXUSDT\\\\\n",
"\t 2024-02-08 & ZRXUSDT, ZRXUSDT & 0.003321164 & ZRXUSDT & ZRXUSDT\\\\\n",
"\t 2024-02-09 & ZRXUSDT, ZRXUSDT & 0.003306101 & ZRXUSDT & ZRXUSDT\\\\\n",
"\t 2024-02-10 & ZRXUSDT, ZRXUSDT & 0.003290074 & ZRXUSDT & ZRXUSDT\\\\\n",
"\t 2024-02-11 & ZRXUSDT, ZRXUSDT & 0.003274115 & ZRXUSDT & ZRXUSDT\\\\\n",
"\t 2024-02-12 & ZRXUSDT, ZRXUSDT & 0.003259633 & ZRXUSDT & ZRXUSDT\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 5\n",
"\n",
"| date <date> | tickers <chr> | ewma_cov <dbl> | ticker.x <chr> | ticker.y <chr> |\n",
"|---|---|---|---|---|\n",
"| 2024-02-07 | ZRXUSDT, ZRXUSDT | 0.003337849 | ZRXUSDT | ZRXUSDT |\n",
"| 2024-02-08 | ZRXUSDT, ZRXUSDT | 0.003321164 | ZRXUSDT | ZRXUSDT |\n",
"| 2024-02-09 | ZRXUSDT, ZRXUSDT | 0.003306101 | ZRXUSDT | ZRXUSDT |\n",
"| 2024-02-10 | ZRXUSDT, ZRXUSDT | 0.003290074 | ZRXUSDT | ZRXUSDT |\n",
"| 2024-02-11 | ZRXUSDT, ZRXUSDT | 0.003274115 | ZRXUSDT | ZRXUSDT |\n",
"| 2024-02-12 | ZRXUSDT, ZRXUSDT | 0.003259633 | ZRXUSDT | ZRXUSDT |\n",
"\n"
],
"text/plain": [
" date tickers ewma_cov ticker.x ticker.y\n",
"1 2024-02-07 ZRXUSDT, ZRXUSDT 0.003337849 ZRXUSDT ZRXUSDT \n",
"2 2024-02-08 ZRXUSDT, ZRXUSDT 0.003321164 ZRXUSDT ZRXUSDT \n",
"3 2024-02-09 ZRXUSDT, ZRXUSDT 0.003306101 ZRXUSDT ZRXUSDT \n",
"4 2024-02-10 ZRXUSDT, ZRXUSDT 0.003290074 ZRXUSDT ZRXUSDT \n",
"5 2024-02-11 ZRXUSDT, ZRXUSDT 0.003274115 ZRXUSDT ZRXUSDT \n",
"6 2024-02-12 ZRXUSDT, ZRXUSDT 0.003259633 ZRXUSDT ZRXUSDT "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cov_lambda <- 0.995\n",
"wdw <- ew_cov_init_wdw\n",
"\n",
"returns <- features %>% \n",
" filter(ticker %in% universe_tickers) %>% \n",
" select(ticker, date, total_return_simple)\n",
"\n",
"# long dataframe of pairwise EW covariances\n",
"ewma_covs <- returns %>%\n",
" full_join(returns, by = \"date\") %>%\n",
" na.omit() %>%\n",
" ungroup() %>%\n",
" # get all combinations (tickers) and remove duplicate combos (eg BTC-ETH, ETH-BTC)\n",
" mutate(tickers = ifelse(ticker.x < ticker.y, glue(\"{ticker.x}, {ticker.y}\"), glue(\"{ticker.y}, {ticker.x}\"))) %>%\n",
" distinct(date, tickers, .keep_all = TRUE) %>%\n",
" # calculate rolling pairwise ewma correlations\n",
" group_by(tickers) %>%\n",
" arrange(date, .by_group = TRUE) %>%\n",
" mutate(ewma_cov = ewma_cov(total_return_simple.x, total_return_simple.y, lambda = cov_lambda, initialisation_wdw = ew_cov_init_wdw)) %>%\n",
" select(date, tickers, ewma_cov, ticker.x, ticker.y) %>%\n",
" na.omit() %>% \n",
" ungroup()\n",
"\n",
"tail(ewma_covs)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Here's a plot of some covariance estimates for BTC and various coins:"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"# plot pairwise rolling covariances\n",
"ewma_covs %>%\n",
" filter(str_starts(tickers, \"BTCUSDT, S\")) %>%\n",
" ggplot(aes(x = date, y = ewma_cov, colour = tickers)) +\n",
" geom_line(size=0.8) +\n",
" labs(\n",
" title = \"Rolling Window Covariance Estimates\",\n",
" colour = \"Tickers\"\n",
" )"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"We'll also need some functions for extracting today's covariance matrix from our long dataframe of pairwise covariances, making sure it's symmetrical and positive semi definite, and shrinking its values. \n",
"\n",
"I've also included a function `extend_covmat` that extends today's covariance matrix to include all the tickers that were ever in the universe. That's just to make the optimisation loop a little simpler - we can use consistent expected returns vectors and covariance matrixes at each iteration. For tickers not in the tradeable universe on a particular day, we set their:\n",
"- expected return to NA\n",
"- pairwise covariances to zero\n",
"- variances to the average variance of tradeable assets\n",
"\n",
"We also explicitly constrain their weights to be zero in the optimisation. "
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"\n",
"Attaching package: 'Matrix'\n",
"\n",
"\n",
"The following objects are masked from 'package:tidyr':\n",
"\n",
" expand, pack, unpack\n",
"\n",
"\n",
"\n",
"Attaching package: 'matrixcalc'\n",
"\n",
"\n",
"The following object is masked from 'package:CVXR':\n",
"\n",
" vec\n",
"\n",
"\n"
]
}
],
"source": [
"# functions for wrangling covariance matrix\n",
"library(Matrix) \n",
"library(matrixcalc)\n",
"\n",
"get_today_covmat <- function(ewma_covs_long, today_date) {\n",
" today_cov_df <- ewma_covs_long %>%\n",
" ungroup() %>% \n",
" filter(date == today_date) %>% \n",
" select(ticker.x, ticker.y, ewma_cov) %>%\n",
" pivot_wider(names_from = ticker.y, values_from = ewma_cov) %>% # , names_prefix = \"cov_\"\n",
" column_to_rownames(var = \"ticker.x\")\n",
" \n",
" # check rownames and colnames match\n",
" stopifnot(\"error making today's cov matrix\" = all.equal(rownames(today_cov_df), colnames(today_cov_df)))\n",
" today_covmat <- as.matrix(today_cov_df)\n",
" today_covmat[lower.tri(today_covmat)] <- t(today_covmat)[lower.tri(today_covmat)]\n",
" \n",
" # return nearest positive semi-definite matrix\n",
" today_covmat <- nearPD(today_covmat)\n",
" return(today_covmat$mat)\n",
"}\n",
"\n",
"#' shrinks covs towards zero, reflecting uncertainty in cov estimates. may increases variances.\n",
"#' @param shrinkage_intensity: a value between 0 and 1. 0 means no shrinkage (use the original covmat), 1 means full shrinkage (use only the target_matrix)\n",
"shrink_covmat <- function(covmat, shrinkage_intensity = 0.9) {\n",
" # average variance from the diagonal \n",
" average_variance <- mean(diag(covmat))\n",
" # shrinkage target matrix (identity matrix scaled by average variance)\n",
" target_matrix <- diag(average_variance, nrow = ncol(covmat))\n",
" # shrunk covariance matrix\n",
" covmat_shrunk <- (1 - shrinkage_intensity) * covmat + shrinkage_intensity * target_matrix\n",
"\n",
" return(covmat_shrunk)\n",
"}\n",
"\n",
"#' extend covmat to cover all tickers in the tradeable universe\n",
"#' put average variance on the diagonal, zeroes elsewhere\n",
"#' intent is that optimisation will explicitly constrain weights for assets not yet in the universe to 0\n",
"extend_covmat <- function(covmat, all_tickers) {\n",
" current_tickers <- colnames(covmat) \n",
" \n",
" full_covmat <- matrix(0, nrow = length(all_tickers), ncol = length(all_tickers),\n",
" dimnames = list(all_tickers, all_tickers))\n",
" \n",
" current_tickers_ordered <- intersect(all_tickers, rownames(covmat))\n",
"\n",
" # ensure covmats are ordered correctly\n",
" covmat_reordered <- covmat[current_tickers_ordered, current_tickers_ordered] %>% \n",
" # ensure is Matrix type for compatibility\n",
" as.matrix()\n",
" full_covmat <- full_covmat[all_tickers, all_tickers]\n",
"\n",
" # replace in full_covmat\n",
" full_covmat[current_tickers_ordered, current_tickers_ordered] <- covmat_reordered\n",
"\n",
" # replace zeros on diagonal with average variance\n",
" zero_diag_indices <- which(diag(full_covmat) == 0)\n",
" average_variance <- mean(diag(covmat))\n",
" diag(full_covmat)[zero_diag_indices] <- average_variance\n",
" \n",
" return(full_covmat)\n",
"}\n",
"\n",
"wrangle_covmat <- function(ewma_covs_long, date, tickers, shrinkage_intensity = 0.9) {\n",
" today_covmat <- get_today_covmat(ewma_covs_long, date) %>% \n",
" shrink_covmat(shrinkage_intensity = shrinkage_intensity) %>% \n",
" extend_covmat(all_tickers = tickers)\n",
"\n",
" # check\n",
" if(is.positive.semi.definite(today_covmat, tol=1e-8)){\n",
" if(isSymmetric(today_covmat)) {\n",
" glue(\"covmat crated for {date} not symmetric\")\n",
" }\n",
" } else {\n",
" glue(\"covmat crated for {date} not PSD\")\n",
" } \n",
" \n",
" return(today_covmat)\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Next we precompute our covariance estimates for each day in our simulation and store them in a list. This just saves a bit of time in the optimisation loop. "
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# precompute covariances matrixes \n",
"simulation_start_date <- start_date + days(100) # allow for first in-sample period - otherwise we run lots of simulation loops for zero weights\n",
"exp_returns_sim_df <- exp_returns_wide %>% filter(date >= simulation_start_date)\n",
"\n",
"dates <- exp_returns_sim_df$date\n",
"covmat_list <- map(dates, ~wrangle_covmat(ewma_covs, .x, tickers = universe_tickers, shrinkage_intensity = 0.9))"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Define optimisation function\n",
"\n",
"Next we define a function for finding our optimal weights at each time step. I'll use the mean-variance optimisation with costs. We explore this in more detail in [this article](https://robotwealth.com/building-intuition-for-trading-with-convex-optimisation-with-cvxr/).\n",
"\n",
"Notice that we constrain the portfolio to be unleveraged (max total weight less than or equal to 1), but we don't put a constraint on how *net* long or short the portfolio can be. That means that in the extreme, we could end up being fully long or fully short. Below, I'll show you an example of constraining the net position as well. \n",
"\n",
"We also pass `na_idxs` to tell the optimiser which assets in our expected returns vector are not in the tradeable universe and should therefore get a weight of zero. "
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# define our mvo function\n",
"mvo_with_costs <- function(expected_returns, current_weights, na_idxs = c(), costs, covmat, lambda = 1, tau=1) {\n",
" # define our weights vector as a CVXR::Variable\n",
" weights <- Variable(length(expected_returns))\n",
" # define an alpha term as the weighted sum of expected returns\n",
" # again, express using linear algebra\n",
" alpha_term <- (t(weights) %*% expected_returns)\n",
" # define a costs term. depends on:\n",
" # cost of trading - needs to be expressed such that it scales with expected returns\n",
" # calculate as elementwise cost * absolute value of weights - current_weights\n",
" # use CVXR::multiply and CVXR::abs\n",
" # absolute distance of current_weights to our weights variable\n",
" # the more our target weights differ from current weights, the more it costs to trade\n",
" # this is a decent representation of fixed percentage costs, but doesn't capture minimum commissions\n",
" # sum_entries is a CVXR function for summing the elements of a vector\n",
" costs_term <- sum_entries(multiply(costs, abs(weights - current_weights))) # elementwise abs, multiply\n",
" # define a risk term as w*Sigma*w\n",
" # quad_form is a CVXR function for doing w*Sigma*w\n",
" risk_term <- quad_form(weights, covmat)\n",
" # define our objective\n",
" # maximise our alpha less our risk term multiplied by some factor, lambda, less our costs term multiplied by tau\n",
" objective <- Maximize(alpha_term - lambda*risk_term - tau*costs_term)\n",
" # apply our no leverage constraint\n",
" constraints <- list(cvxr_norm(weights, 1) <= 1, weights[na_idxs] == 0)\n",
" # specify the problem\n",
" problem <- Problem(objective, constraints)\n",
" # solve\n",
" result <- solve(problem)\n",
"\n",
" # return the values of the variable we solved for\n",
" result$getValue(weights)\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Explore lambda-tau parameter space\n",
"\n",
"Next we need to figure out some reasonable values for lambda (our risk aversion) and tau (our propensity to trade). \n",
"\n",
"If you need a refresher on lambda and tau, see the previous article on [building intuition for optimisation](https://robotwealth.com/building-intuition-for-trading-with-convex-optimisation-with-cvxr/). The TLDR is:\n",
"\n",
"- Higher values of lambda will put more weight on the risk term and lead to higher diversification and eventually to reduced position sizes. \n",
"- Higher values of tau will reduce our trading by requiring a greater expected return hurdle. \n",
"\n",
"We probably don't need to run the simulation over our entire history in order to find reasonable values of lambda and tau. So we'll just use 500 days to figure out our parameter values, then do a full simulation on that single parameter set. \n",
"\n",
"We'll loop over four values of lambda and five values of tau, for a total of 20 simulations over 500 days each. And we'll do these in parallel to speed things up.\n",
"\n",
"Here's how to set up a parallel backend and prepare each worker environment:"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Loading required package: foreach\n",
"\n",
"\n",
"Attaching package: 'foreach'\n",
"\n",
"\n",
"The following objects are masked from 'package:purrr':\n",
"\n",
" accumulate, when\n",
"\n",
"\n",
"Loading required package: iterators\n",
"\n",
"Loading required package: parallel\n",
"\n"
]
},
{
"data": {
"text/html": [
"\n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"\t- \n",
"
- 'glue'
- 'tidyr'
- 'dplyr'
- 'matrixcalc'
- 'Matrix'
- 'CVXR'
- 'stats'
- 'graphics'
- 'grDevices'
- 'utils'
- 'datasets'
- 'methods'
- 'base'
\n",
" \n",
"
\n"
],
"text/latex": [
"\\begin{enumerate}\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\item \\begin{enumerate*}\n",
"\\item 'glue'\n",
"\\item 'tidyr'\n",
"\\item 'dplyr'\n",
"\\item 'matrixcalc'\n",
"\\item 'Matrix'\n",
"\\item 'CVXR'\n",
"\\item 'stats'\n",
"\\item 'graphics'\n",
"\\item 'grDevices'\n",
"\\item 'utils'\n",
"\\item 'datasets'\n",
"\\item 'methods'\n",
"\\item 'base'\n",
"\\end{enumerate*}\n",
"\n",
"\\end{enumerate}\n"
],
"text/markdown": [
"1. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"2. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"3. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"4. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"5. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"6. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"7. 1. 'glue'\n",
"2. 'tidyr'\n",
"3. 'dplyr'\n",
"4. 'matrixcalc'\n",
"5. 'Matrix'\n",
"6. 'CVXR'\n",
"7. 'stats'\n",
"8. 'graphics'\n",
"9. 'grDevices'\n",
"10. 'utils'\n",
"11. 'datasets'\n",
"12. 'methods'\n",
"13. 'base'\n",
"\n",
"\n",
"\n",
"\n",
"\n"
],
"text/plain": [
"[[1]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n",
"\n",
"[[2]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n",
"\n",
"[[3]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n",
"\n",
"[[4]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n",
"\n",
"[[5]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n",
"\n",
"[[6]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n",
"\n",
"[[7]]\n",
" [1] \"glue\" \"tidyr\" \"dplyr\" \"matrixcalc\" \"Matrix\" \n",
" [6] \"CVXR\" \"stats\" \"graphics\" \"grDevices\" \"utils\" \n",
"[11] \"datasets\" \"methods\" \"base\" \n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"library(doParallel)\n",
"library(foreach)\n",
"\n",
"# register parallel backend\n",
"num_cores <- detectCores() - 1 # leave one core free\n",
"cl <- makeCluster(num_cores)\n",
"registerDoParallel(cl)\n",
"\n",
"# use clusterEvalQ to define functions and objects available to each worker\n",
"clusterExport(\n",
" cl, \n",
" varlist = c(\"get_today_covmat\", \"shrink_covmat\", \"extend_covmat\", \"wrangle_covmat\", \"mvo_with_costs\", \"universe_tickers\", \"exp_returns_sim_df\", \"covmat_list\")\n",
")\n",
"\n",
"# load libraries in each worker\n",
"clusterEvalQ(cl, {\n",
" library(CVXR); library(Matrix); library(matrixcalc); library(dplyr); library(tidyr); library(glue)\n",
"})"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Next, define our parameters for the simulations:"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"num_days <- nrow(exp_returns_wide)\n",
"lambdas <- c(0.1, 0.3, 1, 3)\n",
"taus <- c(0.003, 0.1, 0.3, 1, 3)\n",
"date_idxs_to_do <- c(1:500)\n",
"costs <- 0.15/100"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Finally, we can do our 500-day simulations for each combination of lambda and tau in parallel. This still takes a while to complete, so we'll save the results to disk:"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# custom combine function for flattening results of foreach to one big list\n",
"# ensures that each result from the inner loop is appended to the main list, rather than nesting it further \n",
"# results in a flat structure where each element is a list corresponding to an iteration over lambda and tau without deep nesting\n",
"# requres .init arg of foreach to be list() - initialises an empty list for storing the results\n",
"flatten_lists <- function(x, y) {\n",
" c(x, y)\n",
"}\n",
"\n",
"results <- foreach(lambda = lambdas, .combine = 'flatten_lists', .init = list()) %:% # \n",
" foreach(tau = taus, .combine = 'flatten_lists', .init = list()) %dopar% {\n",
" \n",
" weights <- list()\n",
" errors <- list()\n",
" w0 <- rep(0, length(universe_tickers))\n",
" for( i in date_idxs_to_do ) {\n",
" # today's date\n",
" d = exp_returns_sim_df$date[i]\n",
"\n",
" # cov estimate\n",
" today_covmat <- covmat_list[[i]]\n",
"\n",
" # check cov matrix and exp returns vector are ticker-aligned\n",
" # all.equal(exp_returns_sim_df %>% filter(date == d) %>% pivot_longer(-date, names_to = \"ticker\", values_to = \"expected_return\")%>% arrange(match(ticker, universe_tickers)) %>% pull(ticker), colnames(today_covmat))\n",
" \n",
" # get row of expected returns as a vector in the same order as the columns of the covariance matrix\n",
" # contains NA at this point\n",
" exp_rets <- exp_returns_sim_df %>% filter(date == d) %>% pivot_longer(-date, names_to = \"ticker\", values_to = \"expected_return\")%>% arrange(match(ticker, universe_tickers)) %>% pull(expected_return)\n",
" \n",
" # get na indexes\n",
" # we'll explicitly constrain these to get zero weight\n",
" na_idxs <- which(is.na(exp_rets))\n",
" # convert NA to zero\n",
" exp_rets[is.na(exp_rets)] <- 0\n",
" \n",
" # initialise w in case we get a solver error (can retain w0 in these cases)\n",
" w <- w0\n",
" \n",
" # solve for next period's weights\n",
" tryCatch({\n",
" w <- mvo_with_costs(expected_returns = exp_rets, current_weights = w0, na_idxs = na_idxs, costs = costs, covmat = today_covmat, lambda = lambda, tau = tau)\n",
" }, error = function(e) {\n",
" # in case of solver error, log and retain existing weights\n",
" errors[[i]] <- e\n",
" }\n",
" )\n",
" \n",
" # store weights\n",
" # w is a one-column matrix\n",
" weights[[i]] <- w\n",
" w0 <- w \n",
" }\n",
" # return a list with weights, parameters, and any errors\n",
" list(list(weights = weights, lambda = lambda, tau = tau, errors = errors))\n",
"}\n",
" \n",
"stopCluster(cl)\n",
"\n",
"# save to disk\n",
"saveRDS(results, file = \"lambda_tau_search_results_1_500.rds\")"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# read results from disk\n",
"# results <- readRDS(\"lambda_tau_search_results_1_500.rds\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"### Wrangle simulation results\n",
"\n",
"Our simulation results are a list of lists - one sublist for each lambda-tau combination. Each sublist contains 500 weights vectors (one for each day in the simulation), the values of lambda and tau, and a list of solver errors, if any occurred. \n",
"\n",
"We can make one big dataframe of weights for each lambda-tau combination using the awesome `purrr` tools:"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 22\n",
"\n",
"\tdate | ticker | lambda_0.1_tau_0.003 | lambda_0.1_tau_0.1 | lambda_0.1_tau_0.3 | lambda_0.1_tau_1 | lambda_0.1_tau_3 | lambda_0.3_tau_0.003 | lambda_0.3_tau_0.1 | lambda_0.3_tau_0.3 | ⋯ | lambda_1_tau_0.003 | lambda_1_tau_0.1 | lambda_1_tau_0.3 | lambda_1_tau_1 | lambda_1_tau_3 | lambda_3_tau_0.003 | lambda_3_tau_0.1 | lambda_3_tau_0.3 | lambda_3_tau_1 | lambda_3_tau_3 |
\n",
"\t<date> | <chr> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | ⋯ | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t2020-11-10 | BTCUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\n",
"\t2020-11-10 | ETHUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\n",
"\t2020-11-10 | BCHUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\n",
"\t2020-11-10 | XRPUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\n",
"\t2020-11-10 | EOSUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\n",
"\t2020-11-10 | LTCUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 22\n",
"\\begin{tabular}{lllllllllllllllllllll}\n",
" date & ticker & lambda\\_0.1\\_tau\\_0.003 & lambda\\_0.1\\_tau\\_0.1 & lambda\\_0.1\\_tau\\_0.3 & lambda\\_0.1\\_tau\\_1 & lambda\\_0.1\\_tau\\_3 & lambda\\_0.3\\_tau\\_0.003 & lambda\\_0.3\\_tau\\_0.1 & lambda\\_0.3\\_tau\\_0.3 & ⋯ & lambda\\_1\\_tau\\_0.003 & lambda\\_1\\_tau\\_0.1 & lambda\\_1\\_tau\\_0.3 & lambda\\_1\\_tau\\_1 & lambda\\_1\\_tau\\_3 & lambda\\_3\\_tau\\_0.003 & lambda\\_3\\_tau\\_0.1 & lambda\\_3\\_tau\\_0.3 & lambda\\_3\\_tau\\_1 & lambda\\_3\\_tau\\_3\\\\\n",
" & & & & & & & & & & ⋯ & & & & & & & & & & \\\\\n",
"\\hline\n",
"\t 2020-11-10 & BTCUSDT & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & ⋯ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n",
"\t 2020-11-10 & ETHUSDT & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & ⋯ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n",
"\t 2020-11-10 & BCHUSDT & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & ⋯ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n",
"\t 2020-11-10 & XRPUSDT & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & ⋯ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n",
"\t 2020-11-10 & EOSUSDT & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & ⋯ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n",
"\t 2020-11-10 & LTCUSDT & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & ⋯ & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 22\n",
"\n",
"| date <date> | ticker <chr> | lambda_0.1_tau_0.003 <dbl> | lambda_0.1_tau_0.1 <dbl> | lambda_0.1_tau_0.3 <dbl> | lambda_0.1_tau_1 <dbl> | lambda_0.1_tau_3 <dbl> | lambda_0.3_tau_0.003 <dbl> | lambda_0.3_tau_0.1 <dbl> | lambda_0.3_tau_0.3 <dbl> | ⋯ ⋯ | lambda_1_tau_0.003 <dbl> | lambda_1_tau_0.1 <dbl> | lambda_1_tau_0.3 <dbl> | lambda_1_tau_1 <dbl> | lambda_1_tau_3 <dbl> | lambda_3_tau_0.003 <dbl> | lambda_3_tau_0.1 <dbl> | lambda_3_tau_0.3 <dbl> | lambda_3_tau_1 <dbl> | lambda_3_tau_3 <dbl> |\n",
"|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|\n",
"| 2020-11-10 | BTCUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n",
"| 2020-11-10 | ETHUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n",
"| 2020-11-10 | BCHUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n",
"| 2020-11-10 | XRPUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n",
"| 2020-11-10 | EOSUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n",
"| 2020-11-10 | LTCUSDT | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ⋯ | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |\n",
"\n"
],
"text/plain": [
" date ticker lambda_0.1_tau_0.003 lambda_0.1_tau_0.1 lambda_0.1_tau_0.3\n",
"1 2020-11-10 BTCUSDT 0 0 0 \n",
"2 2020-11-10 ETHUSDT 0 0 0 \n",
"3 2020-11-10 BCHUSDT 0 0 0 \n",
"4 2020-11-10 XRPUSDT 0 0 0 \n",
"5 2020-11-10 EOSUSDT 0 0 0 \n",
"6 2020-11-10 LTCUSDT 0 0 0 \n",
" lambda_0.1_tau_1 lambda_0.1_tau_3 lambda_0.3_tau_0.003 lambda_0.3_tau_0.1\n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"5 0 0 0 0 \n",
"6 0 0 0 0 \n",
" lambda_0.3_tau_0.3 ⋯ lambda_1_tau_0.003 lambda_1_tau_0.1 lambda_1_tau_0.3\n",
"1 0 ⋯ 0 0 0 \n",
"2 0 ⋯ 0 0 0 \n",
"3 0 ⋯ 0 0 0 \n",
"4 0 ⋯ 0 0 0 \n",
"5 0 ⋯ 0 0 0 \n",
"6 0 ⋯ 0 0 0 \n",
" lambda_1_tau_1 lambda_1_tau_3 lambda_3_tau_0.003 lambda_3_tau_0.1\n",
"1 0 0 0 0 \n",
"2 0 0 0 0 \n",
"3 0 0 0 0 \n",
"4 0 0 0 0 \n",
"5 0 0 0 0 \n",
"6 0 0 0 0 \n",
" lambda_3_tau_0.3 lambda_3_tau_1 lambda_3_tau_3\n",
"1 0 0 0 \n",
"2 0 0 0 \n",
"3 0 0 0 \n",
"4 0 0 0 \n",
"5 0 0 0 \n",
"6 0 0 0 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# function for converting a day's weights vector to a dataframe\n",
"weights_mat_to_df <- function(x, d, lambda, tau, tickers) {\n",
" x %>% \n",
" as_tibble(.name_repair = ~paste0(\"lambda_\",lambda,\"_tau_\",tau)) %>% \n",
" mutate(date = d) %>%\n",
" mutate(ticker = tickers)\n",
"}\n",
"\n",
"# make one dataframe of weights for each lambda-tau combination\n",
"weights_dfs <- list()\n",
"for(i in seq_along(results)) {\n",
" this_entry <- results[[i]]\n",
" these_weights <- this_entry$weights\n",
" this_lambda <- this_entry$lambda\n",
" this_tau <- this_entry$tau\n",
"\n",
" weights_df <- purrr::map2(\n",
" these_weights, \n",
" exp_returns_wide$date[date_idxs_to_do], \n",
" ~weights_mat_to_df(.x, .y, lambda = this_lambda, tau = this_tau, tickers = universe_tickers)\n",
" ) %>% \n",
" bind_rows()\n",
" \n",
" weights_dfs[[i]] <- weights_df\n",
"}\n",
"\n",
"# combine dataframes for each lmbda-tau combination into one big dataframe\n",
"all_weights <- weights_dfs %>% purrr::reduce(left_join, by = c(\"date\", \"ticker\")) %>% \n",
" relocate(c(date, ticker))\n",
"\n",
"head(all_weights)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's look at how our different parameterisations impact the weights for BTC:"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"all_weights %>% \n",
" pivot_longer(cols = c(-date, -ticker), names_to = \"parameterisation\", values_to = \"weight\") %>% \n",
" filter(ticker == \"BTCUSDT\") %>% \n",
" ggplot(aes(x = date, y = weight, colour = parameterisation)) +\n",
" geom_line() +\n",
" facet_wrap(~parameterisation) +\n",
" theme(legend.position = \"none\") +\n",
" labs(\n",
" title = \"BTC weights for various paramterisations\"\n",
" )"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that as lambda increases, the weight we put on BTC decreases - as we increase lambda, the optimiser would start by assigning some of BTC's weight to other tickers in order to increase diversification, and as we increase lambda further, the total portfolio exposure would decrease, further reducing the weight on BTC. \n",
"\n",
"And you can see that as tau increases, there are fewer changes in those weights because we do less trading. In the extreme, we hold our existing position for far longer than we would like to. \n",
"\n",
"Let's look at how our total and net portfolio weight changes:"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"all_weights %>% \n",
" pivot_longer(cols = c(-date, -ticker), names_to = \"parameterisation\", values_to = \"weight\") %>% \n",
" group_by(parameterisation, date) %>% \n",
" summarise(total_weight = sum(abs(weight)), net_weight = (sum(weight)), .groups = \"drop\") %>% \n",
" pivot_longer(cols = c(total_weight, net_weight), names_to = \"total_net\", values_to = \"weight\") %>% \n",
" ggplot(aes(x = date, y = weight, colour = total_net)) + \n",
" geom_line() + \n",
" facet_wrap(~parameterisation) +\n",
" labs(\n",
" title = \"Total and net portfolio weight for various paramterisations\"\n",
" )"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that for lower values of lambda, the portfolio is mostly fully invested (blue lines). As we increase lambda, we have periods where we reduce our total portfolio exposure. This becomes more extreme as we increase lambda. \n",
"\n",
"Also notice that for lower values of lambda, we can have more extreme net long or short positions (red lines). As we increase lambda, our net position tends not to fluctuate as much. We also tend not be net short as often, reflecting the long-only nature of the breakout feature, and the fact that one or two large negative expected returns will have less impact as lambda increases. "
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Simulate our parameterisations\n",
"\n",
"Next, we'll use `rsims` to run an accurate simulation for each of our parameterisations. See [this article](https://robotwealth.com/a-simple-effective-way-to-manage-turnover-and-not-get-killed-by-costs/) for more information and examples of using `rsims`. \n",
"\n",
"We'll assume costs of 0.15% of traded value. "
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 8\n",
"\n",
"\tdate | ticker | parameterisation | weight | expected_return | close | total_fwd_return_simple | funding_rate |
\n",
"\t<date> | <chr> | <chr> | <dbl> | <dbl> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t2020-11-10 | BTCUSDT | lambda_0.1_tau_0.003 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |
\n",
"\t2020-11-10 | BTCUSDT | lambda_0.1_tau_0.1 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |
\n",
"\t2020-11-10 | BTCUSDT | lambda_0.1_tau_0.3 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |
\n",
"\t2020-11-10 | BTCUSDT | lambda_0.1_tau_1 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |
\n",
"\t2020-11-10 | BTCUSDT | lambda_0.1_tau_3 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |
\n",
"\t2020-11-10 | BTCUSDT | lambda_0.3_tau_0.003 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 8\n",
"\\begin{tabular}{llllllll}\n",
" date & ticker & parameterisation & weight & expected\\_return & close & total\\_fwd\\_return\\_simple & funding\\_rate\\\\\n",
" & & & & & & & \\\\\n",
"\\hline\n",
"\t 2020-11-10 & BTCUSDT & lambda\\_0.1\\_tau\\_0.003 & 0 & NA & 15167.88 & 0.03288394 & -3e-04\\\\\n",
"\t 2020-11-10 & BTCUSDT & lambda\\_0.1\\_tau\\_0.1 & 0 & NA & 15167.88 & 0.03288394 & -3e-04\\\\\n",
"\t 2020-11-10 & BTCUSDT & lambda\\_0.1\\_tau\\_0.3 & 0 & NA & 15167.88 & 0.03288394 & -3e-04\\\\\n",
"\t 2020-11-10 & BTCUSDT & lambda\\_0.1\\_tau\\_1 & 0 & NA & 15167.88 & 0.03288394 & -3e-04\\\\\n",
"\t 2020-11-10 & BTCUSDT & lambda\\_0.1\\_tau\\_3 & 0 & NA & 15167.88 & 0.03288394 & -3e-04\\\\\n",
"\t 2020-11-10 & BTCUSDT & lambda\\_0.3\\_tau\\_0.003 & 0 & NA & 15167.88 & 0.03288394 & -3e-04\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 8\n",
"\n",
"| date <date> | ticker <chr> | parameterisation <chr> | weight <dbl> | expected_return <dbl> | close <dbl> | total_fwd_return_simple <dbl> | funding_rate <dbl> |\n",
"|---|---|---|---|---|---|---|---|\n",
"| 2020-11-10 | BTCUSDT | lambda_0.1_tau_0.003 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |\n",
"| 2020-11-10 | BTCUSDT | lambda_0.1_tau_0.1 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |\n",
"| 2020-11-10 | BTCUSDT | lambda_0.1_tau_0.3 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |\n",
"| 2020-11-10 | BTCUSDT | lambda_0.1_tau_1 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |\n",
"| 2020-11-10 | BTCUSDT | lambda_0.1_tau_3 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |\n",
"| 2020-11-10 | BTCUSDT | lambda_0.3_tau_0.003 | 0 | NA | 15167.88 | 0.03288394 | -3e-04 |\n",
"\n"
],
"text/plain": [
" date ticker parameterisation weight expected_return close \n",
"1 2020-11-10 BTCUSDT lambda_0.1_tau_0.003 0 NA 15167.88\n",
"2 2020-11-10 BTCUSDT lambda_0.1_tau_0.1 0 NA 15167.88\n",
"3 2020-11-10 BTCUSDT lambda_0.1_tau_0.3 0 NA 15167.88\n",
"4 2020-11-10 BTCUSDT lambda_0.1_tau_1 0 NA 15167.88\n",
"5 2020-11-10 BTCUSDT lambda_0.1_tau_3 0 NA 15167.88\n",
"6 2020-11-10 BTCUSDT lambda_0.3_tau_0.003 0 NA 15167.88\n",
" total_fwd_return_simple funding_rate\n",
"1 0.03288394 -3e-04 \n",
"2 0.03288394 -3e-04 \n",
"3 0.03288394 -3e-04 \n",
"4 0.03288394 -3e-04 \n",
"5 0.03288394 -3e-04 \n",
"6 0.03288394 -3e-04 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"backtest_df <- all_weights %>% \n",
" pivot_longer(cols = c(-date, -ticker), names_to = \"parameterisation\", values_to = \"weight\") %>% \n",
" left_join(strategy_df, by = c(\"ticker\", \"date\"))\n",
"\n",
"head(backtest_df)"
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"- 'lambda_0.1_tau_0.003'
- 'lambda_0.1_tau_0.1'
- 'lambda_0.1_tau_0.3'
- 'lambda_0.1_tau_1'
- 'lambda_0.1_tau_3'
- 'lambda_0.3_tau_0.003'
- 'lambda_0.3_tau_0.1'
- 'lambda_0.3_tau_0.3'
- 'lambda_0.3_tau_1'
- 'lambda_0.3_tau_3'
- 'lambda_1_tau_0.003'
- 'lambda_1_tau_0.1'
- 'lambda_1_tau_0.3'
- 'lambda_1_tau_1'
- 'lambda_1_tau_3'
- 'lambda_3_tau_0.003'
- 'lambda_3_tau_0.1'
- 'lambda_3_tau_0.3'
- 'lambda_3_tau_1'
- 'lambda_3_tau_3'
\n"
],
"text/latex": [
"\\begin{enumerate*}\n",
"\\item 'lambda\\_0.1\\_tau\\_0.003'\n",
"\\item 'lambda\\_0.1\\_tau\\_0.1'\n",
"\\item 'lambda\\_0.1\\_tau\\_0.3'\n",
"\\item 'lambda\\_0.1\\_tau\\_1'\n",
"\\item 'lambda\\_0.1\\_tau\\_3'\n",
"\\item 'lambda\\_0.3\\_tau\\_0.003'\n",
"\\item 'lambda\\_0.3\\_tau\\_0.1'\n",
"\\item 'lambda\\_0.3\\_tau\\_0.3'\n",
"\\item 'lambda\\_0.3\\_tau\\_1'\n",
"\\item 'lambda\\_0.3\\_tau\\_3'\n",
"\\item 'lambda\\_1\\_tau\\_0.003'\n",
"\\item 'lambda\\_1\\_tau\\_0.1'\n",
"\\item 'lambda\\_1\\_tau\\_0.3'\n",
"\\item 'lambda\\_1\\_tau\\_1'\n",
"\\item 'lambda\\_1\\_tau\\_3'\n",
"\\item 'lambda\\_3\\_tau\\_0.003'\n",
"\\item 'lambda\\_3\\_tau\\_0.1'\n",
"\\item 'lambda\\_3\\_tau\\_0.3'\n",
"\\item 'lambda\\_3\\_tau\\_1'\n",
"\\item 'lambda\\_3\\_tau\\_3'\n",
"\\end{enumerate*}\n"
],
"text/markdown": [
"1. 'lambda_0.1_tau_0.003'\n",
"2. 'lambda_0.1_tau_0.1'\n",
"3. 'lambda_0.1_tau_0.3'\n",
"4. 'lambda_0.1_tau_1'\n",
"5. 'lambda_0.1_tau_3'\n",
"6. 'lambda_0.3_tau_0.003'\n",
"7. 'lambda_0.3_tau_0.1'\n",
"8. 'lambda_0.3_tau_0.3'\n",
"9. 'lambda_0.3_tau_1'\n",
"10. 'lambda_0.3_tau_3'\n",
"11. 'lambda_1_tau_0.003'\n",
"12. 'lambda_1_tau_0.1'\n",
"13. 'lambda_1_tau_0.3'\n",
"14. 'lambda_1_tau_1'\n",
"15. 'lambda_1_tau_3'\n",
"16. 'lambda_3_tau_0.003'\n",
"17. 'lambda_3_tau_0.1'\n",
"18. 'lambda_3_tau_0.3'\n",
"19. 'lambda_3_tau_1'\n",
"20. 'lambda_3_tau_3'\n",
"\n",
"\n"
],
"text/plain": [
" [1] \"lambda_0.1_tau_0.003\" \"lambda_0.1_tau_0.1\" \"lambda_0.1_tau_0.3\" \n",
" [4] \"lambda_0.1_tau_1\" \"lambda_0.1_tau_3\" \"lambda_0.3_tau_0.003\"\n",
" [7] \"lambda_0.3_tau_0.1\" \"lambda_0.3_tau_0.3\" \"lambda_0.3_tau_1\" \n",
"[10] \"lambda_0.3_tau_3\" \"lambda_1_tau_0.003\" \"lambda_1_tau_0.1\" \n",
"[13] \"lambda_1_tau_0.3\" \"lambda_1_tau_1\" \"lambda_1_tau_3\" \n",
"[16] \"lambda_3_tau_0.003\" \"lambda_3_tau_0.1\" \"lambda_3_tau_0.3\" \n",
"[19] \"lambda_3_tau_1\" \"lambda_3_tau_3\" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"params <- unique(backtest_df$parameterisation)\n",
"params"
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# simulation for each parameterisation\n",
"\n",
"# no trade buffer (trades controlled by tau parameter and are embedded in weights)\n",
"equity_curves <- vector(\"list\", length = length(params))\n",
"results_dfs <- vector(\"list\", length = length(params))\n",
"i <- 1\n",
"for( p in params ) {\n",
" # get weights as a wide matrix \n",
" # note that date column will get converted to unix timestamp\n",
" backtest_weights <- backtest_df %>%\n",
" dplyr::filter(parameterisation == p) %>% \n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, weight)) %>% # pivot wider guarantees prices and theo_weight are date aligned\n",
" select(date, starts_with(\"weight\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
" # NA weights should be zero\n",
" backtest_weights[is.na(backtest_weights)] <- 0\n",
"\n",
" # get prices as a wide matrix\n",
" # note that date column will get converted to unix timestamp\n",
" backtest_prices <- backtest_df %>% \n",
" dplyr::filter(parameterisation == p) %>% \n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, weight)) %>% # pivot wider guarantees prices and theo_weight are date aligned\n",
" select(date, starts_with(\"close_\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
" # get funding as a wide matrix\n",
" # note that date column will get converted to unix timestamp\n",
" backtest_funding <- backtest_df %>%\n",
" dplyr::filter(parameterisation == p) %>% \n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, funding_rate)) %>% # pivot wider guarantees prices and funding_returns_simple are date aligned\n",
" select(date, starts_with(\"funding_rate_\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
" # simulation\n",
" results_df <- fixed_commission_backtest_with_funding(\n",
" prices = backtest_prices,\n",
" target_weights = backtest_weights,\n",
" funding_rates = backtest_funding,\n",
" trade_buffer = 0.,\n",
" initial_cash = 10000,\n",
" margin = 0.05,\n",
" commission_pct = 0.0015,\n",
" capitalise_profits = FALSE\n",
" ) %>%\n",
" mutate(ticker = str_remove(ticker, \"close_\")) %>%\n",
" # remove coins we don't trade from results\n",
" drop_na(Value)\n",
"\n",
" margin <- results_df %>%\n",
" group_by(Date) %>%\n",
" summarise(Margin = sum(Margin, na.rm = TRUE))\n",
"\n",
" cash_balance <- results_df %>%\n",
" filter(ticker == \"Cash\") %>%\n",
" select(Date, Value) %>%\n",
" rename(\"Cash\" = Value)\n",
"\n",
" equity <- cash_balance %>%\n",
" left_join(margin, by = \"Date\") %>% \n",
" mutate(Equity = Cash + Margin) %>% \n",
" select(Date, Equity) %>% \n",
" rename(!!p := Equity)\n",
" \n",
" equity_curves[[i]] <- equity\n",
" results_dfs[[i]] <- results_df\n",
"\n",
" i <- i + 1\n",
"}"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Plot equity curves for each 500-day simulation:"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABpAAAANICAMAAAD3qFwWAAAAvVBMVEUAAAAAsPYAuuAAu04Av30Av8QAwaMaGhozMzM1ov85tgBNTU1UVFRoaGh3d3d8fHx8rgCDg4OMjIyNjY2VkP+VlZWXl5eampqfn5+jo6OjpQCnp6evr6+ysrK2tra5ubm8vLy9vb3AmwDBwcHCwsLHfP/Hx8fIyMjJycnOzs7Q0NDR0dHYkADY2NjZ2dne3t7h4eHk5OTna/Pp6enqgzHq6urr6+vv7+/w8PD19fX4dm36Ytv/Yrz/apj///8dCfL6AAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nOyde1vUuhbGUZFRCsh4QQVEN/hsRTm4fcSi/NHv/7HOtE3a3C+r7TRt33efI5NMV1ZmtZPfJE2TnQKCIAiCEtDO2BWAIAiCoFIAEgRBEJSEACQIgiAoCQFIEARBUBICkCAIgqAkBCBBEARBSQhAgiAIgpIQgARBEAQlIQAJgiAISkIAEgRBEJSEEgLSi52NXmrZ/50dbvJffBuhRltW+fnHrkOcqOfmz44o4Y1vb7OdncO3SoHmXLN6DmLH4oLNp3fuIWgApfMtYI3UHyX7H9Zq3ZavszEqtjW/QqM01ieNk3huonRrBtKvQ551+Kvw5No0MSDxEw0gQVCREpA+1I3OBzm3abr+FN8Ox/nObs1v0yiN9UkjJZybSHGSyUD6lQmZv9y5Vk0KSO2JBpAgqEgJSJvv5tsXOztK1+BlOSS0aYb+jPed3ZrfxtFEWifh3BAsdSC9EDMP3blWTQpI7dsTOeUQNKyS+Rb8t/lG3pb/yHcKhJ/FswfSiB5JCuuymJSZulXfyvJe3m56XhWDbl257kqR6jSIgoEEQVCREJDOqs7RS3Vag/CVBZASE7ma5e1C/SZZCZyz+mXZg3rryh2gUoMIQIKgGCXzfciqdudW/ekMIKUrcjXLs6xNp/wjFNe+NucOUalBBCBBUIxS+T58Y8M/h8q0BgApXZGrWc5p+EfNvBX7P2/56Jw5d4hKDSIACYJilMr34S27Yf2vOJizYxR78/btBl6Z8HBK9d6vTUEvlJl6tb6px5vzfn0oR4ayl//+UatgeFeXVqtK/7zYfLwzYWKG1BLJmYLHcriqLck80KV+BnvJdWjkMsvfAS/sVXd8XP2EaMG0npCXJrBIlGoS5lxd/74sff8nf/7bqvo7L3id/PHUPnBTXP3iT/ngFfs4/5VPR71o6uM4pebaSBGUrM2R3Dh/IWd7r0YImpgSAVLZOHzgL5pvnANIv5rJV4f/CUdXt8tNNxr+ax5medFOKDY84PK29fOPUgXDu6oMtdroG5+4/C0SSP/utLioWM3vpjg+l73kOjRyKWelF2vVXR9XOyF6MK0npJrT8OfDodieV5RqPJezW17ac1Xd8gifCZ+/DQ2vkzee+gduiqtefGNvZr/aYzPTnBv9POu1kSIoWNsi+aE509baQtDElQiQysah/s0sTmvYMap8R3o4RfjF+VLMEPRNODz7o+ftCL+hG50VSquhvavIVCvJzzdef6H9cQBJnsf2YkfvV+ify1oyC43cL2imu5mq7vy4UmDMwRS8SqZVFTilM/5eByAJzs+azy/VSAiOI56GD9wUV32M5s1D4VjTo61i4G21kSLYWtsiedbmvvCfHgiapBIB0gvp+yiMQAhfc/EbX7Zm5QDNr7O2jalbiv+KP/rPxV/lW9Xc4cOmTaua4Bd8PnHW/ITOvv3h5f4n+zW+K8pUq6oV3Xn5X/UUZKY1VGJCavyqF2dCU2McYdI/l7VkHhqxHb5tWjdD1b0fV3BlCqb1hJReBf59a4Onl23ONUXhPz4zvD7kD/9Exa/qMdwP/niaPrB0TrKdcti1Km7j6Z8/m09Wvv5Xr5t6So21MT6HZI/kzttf/CN+s9QWgiauNID0a6f96bsjTWswA+msbcfauyDVl9Y8mv6ybYgy/uUVJhG/5O5ftN/sDzvaj2Tju4KMtVKnMEcB6VZoNE0jdobPZQfSH72cZsTOVHXfxxVdmYJpPSHyOg0a980xMRxjiEIb4Q9tjdqhOnc8TR9YOicsRGfK6/bTWqtvrI0RSPZICv3Wt5baQtDElQaQPvCGseAPJHEZgfRH4FfVJDQ/Zs1fy19CO/QPO0rMq1rzX7K39ge0zglzd8VcK9HPr1gglZMOxYZIGbEzfS5ryaaewSEjhrHqno8rHmAMpvWEVMN4rLtQHnyolGaMieEYQ+X+NH1Q/tFkO2c8TR9YOicsRP8JH+w/09WhV99cG8MreyT5+bllEfOeHgiantIA0uFOO7Z/uyPeczACqb3jVNRNwgf+vnlB6H922l4X//KKeRUQP9iKkJocx4rT5lp9EP00dzhCgVRav5Dq7ftc1pKbmrc/rX/x0o1V93xc0ZUxmNYCMiG/YvStFpIYIEnOz4yHNJnOeJrqazz5TZ3VAzzV1z6F/sofSf40lvf0QND0lASQ+I++Wpk4FcoIpJdqK9XcPTGvZCPdGRfypDa4LKOat3Sm9EMav8Z35RL1Wkm+QyY1SO9WrU/109o2Yqd+LmvJTWj+bdq8pmNqrLrn46onRAum44QIam7rkIEkReFWP+S/aqp7nemMp+kDS+fkPzVTPcBTfbU2BiAFRJId6j09EDQ9JQEkYQIRk/rtk18eascrhyo6NLwjLafGfy7XY2rKwzhNucZ3ZS96rSQ/v4x11TKFd8sGqqKHaY6d6XP528Xywx429n+sVfd8XLFUYzAdJ0RQ2ei+0I82n1RjiVIUpNUcfv179jITPlHhjqfpA5vOCRFIhtrorwIiGXp6IGh6SgJI4pTjWs1vV+GrKH97tfZTaybat0ztmLmlax4Z2nmhPxtpfFcuw10rSzurZQrvfmNtkvE2gfdzmStRtsUl8ZsRO0vV3R/XPPRk92oTP0qbT5dZc11nt039Mq0p7oyn4QObzgkJSMba6K8iLhff6YGg6SkFIMnPaFRq2grhqyh/e2Uph5KBVBQf2t7CmX6k/q5chrtWBCDxGy7Gp2K9n8tcCT5mV/5tpyzrVXd/3L6BFPEckuvsNqnmqnrx4ZdwiCuehg9sPCfG1+7Am2ujv4q4XHynB4KmpxSAJDxx3siwEo6t/Sv0QzsAqRzl59/zF4Yj1XdtJbr9uFsv8V02r9g0YkcF0h9W+bLMP7qRJPvHTRxI1Xy77O2/8tNE7ngaPrDxnBhfOwNvqY3+KuJyMdQWgiauBIDU3mgWMvj3S/j2tS+b6bCS7O1fZnjHPFjP0//WkGxWD5IrLL4rl6jXSprwSwBSNa/4V7Fjmthr+lwBQGIkEsJsrrr746onhHgPqbmjVc4v41P/qw7MP/ZcSeYIt/Pp5Jq44smrJHzgnoBkqY3+Kvwekqm2EDRxJQCkspmRF4R5uWPala99Wb6v38q1t3/Sz2z2JZemMxn2Q/jzlreUpnLbd2Uveq2kFaqbp1bEMvWZDpLHsr09Kw31URnT53KXXKseq2tH7CxVd39c9YTowbSdkB2x0W2W8yav9q1NTKucHgqxEYfsXPE0fGAakLTAW2qjvwqIpB5W8+mBoOkpASDJazCX+rZjuoHTvhSfe29lB9IH4Qckb+G0p1fKRGb64jflGt+Vvei1km5WfBDL5G2yPhdcKvvf6uevsSk2fS53ybXqvlG7XJO56p6PK+YZg2k9IRL+2oTazOujiRLJGtkjzDO/iQl7PE0fOA5I1sBbaqO/CogkS3hPDwRNT+Nfxr8MX6Yd05KV7cvKhA8x/ccbU/uX8pfwA5IvkmN8JF5YQaetRFOu8V3lg2i1qoZdeEMlrSPAG8SXbiBVI5q6N9vncpfMVD0bK0DIWHXPx1VPiHl9Ab3SbBU29vpb+1pZNEdfeUnIFWWOsOj8UEzY42n6wOFAcgbeUhv9VUAkWcJ7eiBoehofSKaFuNovmxFIUtPUjIY4fiW2q521X3jTomHiWmd8LZ62XOO7ihetVuLtg/p5q/LV2zbznybTDCQ+58O2CI/yudwlM1XLqe0o/RS16r6Pq54Q4wpshkrXDe1h9augqiLr5FU9h2ZZUXFpPT1X0pkpwi/agtvMgkfIGE/TBw4HkjPwltoYXvkjyRLe0wNB09P4QCpbJ3X0pF2FWvgqHtbfuuoJGt6k/akexvC0f6wHUC6W/G95+L9tXtvS1f2DasOzdgnlX7Jf07uiF1OtavvKD3sSpcyrm9n/qkz9R73wSYtmxrBpTpjhc7lLZuK9BHfVPR9XLNUYTOsJkVdXbTo90uO5h+5c6dM0C2QLEW5Q940tAd5U3x5PwwduPoP4YYyvnYG31KY90U0x/kjyhO/0QND0NDqQ5GWDuJrF7YSvIp8dXr6WHl3Slk7WJR5/Zsjjv7z/ZHpm69f0rs1L284KWw21q8YIm9noMx3ET1qwYSjziIzhczlL5qpb7rfmgnjVfR9XLNW2i4+x1tLSHO0g3K2Qm/1y50oSItzcQxKftj5rlnhv3zHF0/CBm+LED2N+7Qy8uTbtiW6L8UaSJ3ynB4Kmp9GB1Ny4laQv/982O3Wi/eHMm1XpW6uq2VNUcNZu4tnuGNtunLqT3Wp+De9KMtRqoz/8If2XysQ0Vo7WekmflN2ot4zIGD6Xq2Sub1ojZqq65+NKpRqC6Tgh/+jOyjIyrQxrrqSm8md6EHeyf6uGv50WbY+n/oGb4sQPY3kdckrl2rQnWijGF8m2TM/VCEGT0+hAKr9OejvT3BIRv4p/ztrt9TZt6tsq9cG07J1J38qFxF6cSbO0vr3d5B3Kq4HdnpXfczFT9Ku/q3hRa9X6KW2EOt6WeS/EZ13aN+VP2q6IHfa5XCVz7ehZpqo7P65ShBZM1wn582912+pMWRu2KkNbns2cKx/ysjziP8npP2XdX5bL6jQL5lVyxVP9wDFAcgfeWJvmREuxckdSvIY8VyMETUyjA2lZ8kDTLGx3068QTwhKVADSVkUCkmXdNYgoxBOCEhWAtFWRgPTWOKoJUYV4QlCiApC2KgqQpP3Foc5CPCEoVQFIW1U0kH4Vf9otx6HOQjwhKGEBSFtVNJDqWb36EnkQTYgnBCUsAGmrogEJe930JsQTghIWgLRVRQPp5c7OIXa66U+IJwQlLAAJgiAISkIAEgRBEJSEACQIgiAoCQFIEARBUBICkCAIgqAkBCBBEARBSQhAgiAIgpIQgARBEAQlodGB9AyKEKJGEsJGEaJGEaJGUcOD8YF0CwXrGaJGEcJGEaJGEaJGEYA0TeFqJwlhowhRowhRowhAmqZwtZOEsFGEqFGEqFEEIE1TuNpJQtgoQtQoQtQoApCmKVztJCFsFCFqFCFqFAFI0xSudpIQNooQNYoQNYoApGkKVztJCBtFiBpFiBpFANI0haudJISNIkSNIkSNIgBpmsLVThLCRhGiRhGiRhGANE3haicJYaMIUaMIUaMIQJqmcLWThLBRhKhRhKhRlCyQVqvgz2A7NKyIi/VqtVpfmN56ZyvgLKhegZ6UbCV5drRaHZ5cq0ZhV/tyguj01CoobMuJmuXiUhXftM4whM4iTULUboOvsFaLB9ImYJWO9LcubAUcxVyXPk9Ktpz8csCS6sWTFpBGD6LTk6CkgDR21KwXl6p0m9bthdBZpFGIWvgV1mrpQHq3Oji7vr0+O1idqG9tzk2nnyFhnpRsJXmwevX5dpNcrT7LpSUFpNGD6PYkKCUgjR4168WlKtmmdXshdBdpFKIWfoW1WjqQVqsv1d/PqwPlnbNVvyfH4knJlpPvVq/qo85Xa7m0pIA0ehDdngSlBKSxo2a/uFQl27RuL4TuIo1C1MKvsFYLB9JF8yPh1eqT+MbnTbf2qM+TY/GkZCvJwxUffVVdpgSk0YPo8SQoISCNHjX7xaUq1aZ1eyEMv8JaIWrhV1ir1IH0+aQc8Dx6d80zq6htOoAXm7+vvvDc65PD1dE5t2XvGYuQddKMbl6s3snuN2lzGNmwqLF29vBbPCnZjvrIxUUBae5BdHqSFAOk+UdN+cBWkZvW2YQw/AprhahpnyxAiQPphEVidfClzryok59PpNwz6SbdUZ06NxYha90Mbn6We5Wr9RfHpclOjlY7R/gtnpRsW33O1OHeGCDNPohOT5IigLSAqDFpF5cqatM6nxCGX2GtELVG3iusVdpAulgdXJQkvjisRyM3cXh1fXt9tDpcnVyXPxxOeO4mOp8O6/iuV4ebnuiX9cpYhKyDNozygOq1K8gsX6+d/H6IJyXbfNSnV6sD5bdOBJDmH0SPJ0HhQFpC1CoZLi5VxKZ1RiEMv8JaIWpMAVdYq7SBdMhhfl1/3lUd/k+rOhqfVodCbhnqz8KtukNjEcYwWyLqOTl67Rx2Fk9Ktumo6neQekIjgDT/IHo8CQoH0kKiZry4VBGb1hmF0P+WLkSNvRFwhbVKG0hqcsXuwvFphDyXDYpWPcOTFRtXVafU935y9NrFe/ID6fPRetMfP/wiF0ea1DDXIHo8CaJMaphz1MwXl6rOt+cnH0L/W7oQtVJhV1irKQDp89n6QP748t8Vn8zxpRxRPWKTGjcpUxGmqNoiGnRy9Nr1C6RS11qnNxpIcw6ix5OgWCAtIGqGi0tVp6Z1FiH0v6ULUePyX2GtUgfSxSv+sK/4qdWTIxrJKa0IWR1Pjrl2/QOpnKEp3xaMAtLcg+jxJCgGSAuJ2q1+cakiN62zCaH/LV2IWivfFdYqcSBVczrWZ59v6SdHKULWoXBy9Pu9vpNjqV2MJyXbWp8v9dBxo+hZdnMOoseToNhZdguI2q1+canqNF9sFiH0v6ULUWvlu8JapQ2ks9XB2Rfh8xJOjlqELPeMWM/JsdUuxlPgtG+tzAggzT+IHk+CwoG0mKi5vDERm9YZhdD/li5ELaBYTWkDyTanQz05dYjqACvjqe4ZJ++Eh8T0TqXn5ETNOLF4UrLt9aEDaf5B9HgS1GWWnexkNlFzeWPqbb6Y7G1CIfS/pQtRCyhWU9pAaj7GufvksDkmZ+WTx+9WZ6KNWoSs9pScGFak9ZwcW+0+RXhSspXkQbP2xiflx0wEkOYfRI8nQeFAmn/U7BeXKmLTOqMQeoo0ClELv8JapQ2kA8bjL54ZJwf8qOvyRwJ7PPnAWIQW5/rgL6Z3PSdHLfqInd+jGE9Ktpw8aR5sO1KunQggLSCIbk+CwoE0/6jZLy5VxKZ1TiF0F2kUohZ+hbVKG0gn1QPI5ULpdRBtJ6c67OKgXprp3ergonqG2ViEFjO+FLthlS/byTnYhPdaL/qsdnxkvgwsnpRsOXl9UK9d9elIfeQ6AkgLCKLbk6BwIM0/avaLSxWxaZ1TCN1FGoWohV9hrdIG0i2bYXhwcVg9HmY7Oe/qw1hX9FWdemcsQtURm8N4ZDgdtpPzik16VItmZVk2ubJ4krNtG/Spg70xs+wWEESnJ0ERs+zmHzXrxaWKOl9sTiF0FmkUohZ+hbVKHEi3J4f1yrL1IKTt5JQMFncB36SOPpmL0HQubucb2MK9Yj1mteizw9VBu+RuoKdzeT/hc30L84NX2v5WUc8hLSCITk+tYp5DWkDULBeXKvITNXMKobNIkxC12+ArrFWyQIKcir/aoVuEjSZEjSJEjSIAaZrC1U4SwkYRokYRokYRgDRN4WonCWGjCFGjCFGjaFlAWilKzChCI17tUw7ieGFD1DprYiFE1CgCkBIyihCARBKARBGaVooQNYqWBaT5KJGrfWpC2ChC1ChC1CgCkKYpXO0kIWwUIWoUIWoUAUjTFK52khA2ihA1ihA1igCkaQpXO0kIG0WIGkWIGkUpAQmKEKJGEsJGEaJGEaJGUcOD8YEUfGQeXXaaFvEmjcEz7cWQ3pKy6PI5CGHbwkfaRgy6WCBqFIs0o5b6VxRAGtECQAKQaC7QtCJqCVsASNO0AJAAJJoLNK2IWsIWANI0LQAkAInmAk0ropawxUyAlEPBeoaoUYSwUYSoUYSoUZQSkIKPTPNnAXpIyUct0V+tif3Wv1EtEDWKRZpRS/0rCiCNaAEgAUg0F0MD6UayQNQoFmlGLfWvKIA0ogWABCDRXAxQq5ub5hV7nXjTmkTUHBZpRi31ryiANKIFgAQg0VwMAaSmZ8TRlHjTmkTUHBZpRi31ryiANKIFgAQg0Vx4TG5u2v5OqBMAqWeLNKOW+lcUQBrRAkACkGgunCY3NzVd4pzcVBwrhLG7xJtWAClZCwBpmhYAEoBEc+EyYb0jlUhBQCrErlXiTSuAlKwFgDRNCwDJbXF314+ThQFJ+hPs5Eb4v2KxhKj1b5Fm1CbTsAFIQ1o8PDz04mSJQNKoBCANBSSLxRKi1r9FmlEDkII15/P2UDxU/3Z1sigg3VVI0rtJAJLL5AZA6tEEQAKQ/ErzLDgsHiok6b0kAMkDpKIEkkokAMlhcqO9CHQCIPVskWbU5gyk7++z7M3VX578cZ5l2fkPUlKuik9pngW7RUWih4dCIxKA5LCoQFT+QwfSnWqQZiPR4zf+xvgyxAmA1LNFmlGbL5Du11ktRpX3LPmekFSqElz7aViw8boHfcwOQHIBif8bC6S2S7UgINUTtm+UnAgnAFLPFmlGbb5AWmcffxfF3+9Z9rtMfs3W3/9ukuvsKjqpViW49tOweGj+AEjhFneGV2FO6q5V/epONkizkejhG39TP3wEIPVsAiBNBUhfs4/1i/9l5+WfLLuvkr+zdXRSrUpw7dO3eCjEgToAKdBCmssQDaSmW8UKWQKQhJUWeJa8WgOABCBty2IMIL3J+M2jLNv886Pp63zMfkYmtar4lOZZMFko940AJK9F1am5k2YyUIB0dyfM0FsGkFSiiEC6AZBoJgDSVIDUqgLSFb+VtKHN18ikVhWf0jwLmsXDg3rfCEDyWtRAkiAUD6SKaC3VlgokacodgAQgbctiVCB9r7o75/WdpKIchjuPTGpV8SnNs6BaPOjzvAEkr8WdPrOOAKR2RoRskGYjMQyQ2gXtqrVWASQAaVsWIwLp58dsXY7drbMmq7wvFJXUquJTmmdBsTA9CQsgeS0Ms+rUh2NDgGTxkWYj0dM9JF2sk9Sum2ov0PBW4k0rgJSsxWhAqmZu/61fCZmRSa0qPqV5FoKAJOcASCYgabqTZzgASKFAKhogqevUGY60+5ht1Aa1SDNqswbS7/fn5bOx5Yy5jkB6ViqflR6MmcZcgtqrvacCU9GdKe/uzvl+QBFMsw3bzeY/czZ/R3hpPtKu2UZtUCFqFHW+h/S3HrNDD8nUQ9IkdpEe0EMyWBgX+G56SNVEBfSQNBNr1+em2asvrx5V0iaHO0pI/Lc+ekjJWow6qaH4WM5qAJCCgCRkPwQAyb743bKAVK+yWrA7TLn9MHMRiwYSn+2Q8+2OLLebHD7mGrVhLdKM2gKAdJ+9KR9LatLlPIWopFYVn9I8C+FAqlcSCgGSdRbEMoFUr27nAZL+1oKB1HaI8vaOEoC0DYs0o7YAIFW9HEz7DgXSwwNbviGoh8TH+BiaFguketnvdnm7O23unaOEJQNJtKiPutEniJsLSLxpBZCStUgASF+FZ12vIpNaVXxK8yyE9pAeGI02f3LrYcLB9auaSABS0Tz1CiC1CgMSOxZA2opFmlGbLZDWzdJBP8teTkuWahmGqKRWleDap2xhJc0D6yRtXuV8awrLkUXbo1J8LA5I/C5SZVJ3kCxEApA8Fi2Q2tE7AKl3izSjNlsgXfHFVYv3FVT4eqn39TSFqKRaleDap2zhAJLY73loOkyGI9kx7d5+CwZS+17eLMQAIDFFAale14GrfUrJajHXqA1rkWbUerM47dVJdyD9XWcfS6r8fF+T6arZUeJrdFKtSnDtU7awj8WJHZ6Hh7bDZDpQebVsILUm7CjTkuCGAgAkxaKZa8f3rDCN4qXetAJIo1qcbtSfkx7uITUb9LHhN2zQJyc9N4eYCev76Luby0UsBkgBPBJNpOeTrCUASKqFsA74DVvrzmEx16gNa5Fm1PqyOC1SA1K9hfn6I58wV/xP3pU8KilXxadJnDcnkBoTvnmfB0iaDwCJH96sxnon7MxnM0izkdg+kBRTAGkAizSj1iOQ6lG708IwfDcOkHrWzM5bFJCMhxuyAKRCA9JdO35nmXoHIPmcAEj9W6QZtf6AVDRA0rtKAFJyFuY+j90EQKoUDSR5Iz95Zz/dIM1GYnwgYVJD/xZpRq0ni4ZFzT/dnABIA1vY5ilYTR6UvwWAFGCi8gdAIjoBkHq3SDNq/ViwPtFpJQBpAuctBEcmIImb+i0QSJZnXcOdGAuYPZACeDS/phVAGs2Cj9FV8xqq/3d1AiANZGHo6IQ5YfudPwhjfcsBUjtZrrMTAKk3J4k3rQDSWBan0qsaSPJ9JAApFQsykBoWtUhaIJC6OwGQenOSeNMKINks+n1mVbMwTPc+PZUpBSClYsFgEsYjm5O6t7QkIDWrpg7iBEAiOUmgae3XBYDU1Uf99JEZSO19JQApGYtmTaCuTh7M8/TmCaQ7AKmTiXHSdncnCTSt/bpYBpCcSyh0BZKt8FPWS2K8ApASsagXpnsImvPtdPJQGAuZMpCa54U0iwpI5glyvVRr9kAaxsnoTWvfLhYBJPcSCmE+ZPtczHeU3Xi2YiugVgBSZwtx4VNLx4bgxEy1aQPpTvzbrpRauDaT6KNacwUSA1EQjybYtPbuYilAclEjxMepEUiMMg4gtaN5uXvY0FGrlICUT1IbcAiJPst1vftselG72/xX/7lrU+ydTd6dza5PTTBsDt1If4bTvKK2LW0paqfNP+Y0pUijub/MU/X1qZwTUquUgBR85Ng9JKnv8qD0kPpyYixrwj0ktsrPHd+JnHWR8iL43hG5WughkZyM/Vu/dxdz7CGdKj0iPmjWwYc6ayE3P2vkrBabEC5NvjNOh1BrBSARLPgS3WICQPJYVBS6YzBi/ysAJJqL0qRZERVAGs4k+aixeQS8pT/tBUgyOPL67lA0kPhDSrxUqZ6SOwCpm0WzZwSbnF3PrcujedTHZJSJAam+fXRX3PE+EoAUZqBQpwVS0BS7QCcWi+lGrbNJ8lET1tyu//JFFEg+xOVSG3jksTMUWKdKqlhdarvEQ5N9KtcKQIq34DMXag49cDIBSF4gta/v+OrcAJLHgHeDZPDk9S57N5atjPqoFYDUzWKrQGr/7QYkPnPhVOh3OUbaXE5OxYpx1HF+8opyMgFIHSwYkCoacSg9AEgeCw1IBQdS+Pw6YrWmDCTGm3pj17aflFevmx3Ih97wT6gAACAASURBVKgVgNTNYltAqqWO1FGAJFGonVEXjSPmRAdSwe4kNQuynkoGpQCkeIuHdn2fB+FJ2DxqxjetWjMBkvBMUq6t2N3Fic9gek0rH5grGgJxk1ASUWsFIHWz2ErUxFs08p0ZG0acQFKXqZN9hEtwIvCNvWr7YKcAUh8WD+K/D00mgBQBpOZvfochOyeQaggxKjUdIgAJQCrkLpE8shYPJMO0hX6ApEyJME6PAJA6WDyYEg9tb6kXJx6DyQHpzpi6i4WR24nXYHpN600zXFcP3wFIdBfD1upy818xHpBUBMUCyfQ4rTKuFi4ZSAE1A5DoFg/GVDyNnE58BjMBUvT9I7cTr8H0mlYAqT8Xqsllr05GAZJo0QVIlg6VZ20Gq0QgaUUDSEMCqc0FkBwWNu4ASB4DETvCvIY8eLo3uVYAUpyTy8v5AakabOsW6LA54wAS3cICpOgbSE4nPoO5AAlDdm4DiTo1kKr7SHnwdG9yrWYPpMtegcR4tK2o1U8KOWDRE5CKrkAK62D1AaS/V2+y7M3VX57+cZ5l2fkPUlKuik+jAsnKnW2Mac8PSFuN2tSaVoU6DEg3FZAwZBftQja5vAzoIkUASbUYGkinPQLJ9ahRVyDFGdCB9COrtWZUec/S7wlJpSrBtR/DAkCKtnAt5Q0guYBkTt+Er88Q4MRvMbGoBZpwIDmplC6Q6k6NB0inOphMFu5htWkA6XeWXd0Xxf15tq76SF+z9fe/xd/v6+wqOqlWJbj2Y1gASNEWrhtFABINSLE+ACTVpAQS+39HJ5eFMP63hajxtX2cFqfCUR4fnqUYpgGkj9n/+IsKKll2XyV/Z+vopFqV4Npv3cJ1pwhAApBuoi0cBvZeUPR4nd1JiMUsgVQD5NIzcBcGJBFq2wBSS5AAICmwMQKpj1p1MukOpHXGXtxXUPnR9HU+Zj8jk1pVfAKQJgUk58NGcwPSTW9xdkxbuLnZ6ldgXkBi7JCAZGVSIJCKZIHEHgMyrIkgHNpLrTqZ9HAPqVFWoukq4xMUfmRfI5NaVXwaDUjOud0AktnCPbN7ZkC66RNIDj8AEvXKqTszTZemHm6jA+myUHC2FSC58NIc1axleio+nKpZeDeWmCSQzrPfLPk7O49MalXxaSwguSd2A0gA0g2p9xIPpO1+BeYOpC49pEt1+vh27iEFWLQ7952eOvpU/o2OJgakn9nHQhjB2wBqHZnUquLTSEDyPGk0LyDxvYriZARStAXBSaDBsE1rPcjWD5A80+gApA5A0ntEl7Zukh9IlxMBErfSgOR9UGhiQDqvxt8ygTFZZLKsRqmAHdcpekiuoB7UXu0DObhLsKTuGi5sN3n5rCp/2UN5vZTSjwa/2Lapy3yDHkNm+Q+luEub3XBROw086pQdunl1KlqJr07DCtuaOgPpZz3o1hFI1XkL9hnH33K3iD5+sPmWYphZD+muuOvlZ65nKYaZ9JBuhDkI0c8IGXtI8SaDWUy3h6R0enLr4NxlPbNBezdgyE7pWSXVQxK3k2X/5vLK2/3VqpNJbz2k+3X9GFK6QConxhGW9TEAKdqC4CTUYAtDdpSVuJcMpPa1CSaxN4QApD4MdFjYgFQfTQGSzWJsILW0EfbIOy2BpL3TS606mfQGpDfsiaKEgUTZF0L34V+rblZAKjtI1V5FcVJd+Dffmw2QBAvDg6uxMxR8nSwAaRAgaW/7nOjFDR81kSJBQBLsOJAERvVUq24mfQHpPZ/A/UaepxCV1KriUySQCkoXablAuit4tyaPXotbdhHSy5onkBT+3LiXQtVdeEf9ACSPgTKZrjFxPQW7CCCJO7hGrsQdrrGA1PAoyWnfFUJqjOQdN3N9CNheYiZAumuXnsujB+0UIAUAbY5A0p5pvXGvrSC7CFqpDkByG7DFEy7lobjcvU5QMXcglf/l7ZthPJoOkO5bHhVfhWddryKTWlV8igASA1HebTPXoDG/+QCJc6QzkHqrVDeTMYCk3VRyQEYB0k3AykAAktPgslmlrn5wVVqdwaVZAUlNnwpAMm8R26FW3Uz6ANL9uuWRQJZqGYaopFYVn0KB1IKkG5DCulezAVIDkjx6Az0AqaiBJAKofhUOpJCF6gAkN5Caf+cHpNP+gNRjrTqa9ACkH9n6t5Dk66Xe19MUopJqVXwKBlKDkjx6R9clA0kw0IEUvu5CEMxmCSS28Th7KxpIvdWqJ4vJAUnARN1LCgaSfMhlgkCSKRIJpFPRInRr8mkA6X69vhfTV82OEl+jk2pVgmvvloARACnYmwoklSpOzMhA6q9S3UxGAVL9bFLRkEmb6WBxEfYUE4DkMLiUgNSM3AUCqT3osgSS+6bTlIBU94nmCqSPWasqI70N+iQgGYjkxIwEpD5r1clk+0CqJ4C377onKgBIgkUDJJ4OA1KPterJYmJAkjs5l3z91HKBBn+pApBKknmmQRjeGzJqp9o4WySQivkCKVOBVPxP3pU8KilXJbj2bmlAUsDi7PgsFUgiRfL6jpLIoDv3RG4ASbS4kbfSA5B6tbAYGBeqqxZUCAOSOL7n3pqiGANIpx2AFOSjD4tR7iH1rr6vdhEjtYX0LJHncVkAqTEQGXTn3t5IdBE2HWLuQBLeAJB6tbAByXJ4iaQQH5d8LgSfNn4pZAc4GzBqhnlxW70OBjQBkB4KN2gAJMHgTnwBIBlkBJI6Yy4ESIHr4M0ESKadVru5cPRn/FMU6qOEde1KhF2yPG3nI/Nms8NFzTRLG0AaTsMDScyrgBS43R6AxP7UY3eOu0gAUgEgiba+J1G3CaRQH5fCZhR5s18Fy2Xijzo5fPR9rRk3LgKQhtNWgVSzCEDS5AASf0Lpzo4kAEm20FZssLm48RxCq1VPFvSoXU4RSOImR7m06MNlezuqXQfC5gNAohgsDEg8kw3eORaoy9sCAueLzxlId3fSWy4gScN7PVWqowmA1M2iA5As9164EgVSO5ehtGBQ1ec3bBVI401RAJB86gFI7IU0y0Hx0cx6AJAqAt2FAqnpT/VWqY4m6QOpXS5oPkBq+hGOw9pJAwkDqX2IyTR/z+oDQKIYLA5ID9JshhZI6py7/KGSWlDnWnUzGQtI4oJC0lHKDIe8miR+pxbUtVIdTcYDkuMo0eCmXfxuRkBiLy+bf3RdtmN6/QDJ/egrMQbWeXbDAUnHD4C0bW0FSPWKq8pBNaM0IBXSguE91aqbSWpAUh9Lyu+avtSigCRhJBpIwuJCoZvNJg8kYTjr0j614ZLvuBo2A85cPbG8QYAUVrhqQbvWhH0h5IdgAaRti9RGOGBhBpLygGwLJOV20oPIqthahWo6QFK6Qhw76sINd0XTOwKQ7Icp66cKm5/PB0jta8t0tOqt+v0i7KFVS/XU8uJMwi22AaR65sJpvf34KYA0pp7lsXrYdGPycmzN8q7NSEo+5A8sTyzogR1WOYiu2PB6Ro/aRnd3efmf8S27iZKqC7kT37jjpd7ZCxpVHcJWjqqV/5rfDC1EKMpkbSl+ZFGidiknLl1HbWhkOyBG1VoM6Yh0rZ3W2rzI67/tO33XL02lBKTgIxlOH/husOYujL2HJB310GxT0dw0Kl/n4vsxtYrRKD2ku7s7cdMjRdYektwTumuG6+6EYbu7xsK/VazBR6BG6SGxVRcsXZjAHhJbSkjdQDZgdSFLrSI0Xg+plKuH5DjC1SdRPtClY2TQYhKgbd95a/pB1V4R6CGNKQKQihoYUUBSDq+BxIfn2nkMuflwf61iNBKQij6AxJ9GumvnMYhACt1HaTpAqldL7QqkGwYkoaCb1mBhQLp0H+EGjPyBvMvO6SYhGg9IzT9iht1bhI/hLZYIpAYdD7abPBFAau8XFfy20WyBxNBh68LYgKQd1j4my8orX+bCATGVitLWgdTgw7qXawSQGNSEogQgzWhSg5z2AynXgOJ5iEkFUkitQg7qy6IbkCoBSGMq7LyVAMkVBkUCST1MQZoCpOB9lJIG0l1lfCdOQugJSILdbIEkJDsCqRn1E3pbN9uIwZab1pAndhQgaZMfrIshKNVzOHCaDGwBIFEMJgikhwd1Q/I4IGmH6YR6mM55CwZSSQtlRpz5QIM3w2HqmNwdcxGrpIFUMiMvLPd7rLmBQCqalwBSwYAkDtLZV+dRqtcc7FXqUcsV6pwaXxq9hfvYgsWigFSUE+D6BJK2TdIsgXQHIBUUIN3ktgkI0lFmd4ZDDf2tGQLJuCeR4TDJW7NanFiGnTQAUgEgDamQ8/ZgfDCoZyA9zBRI2jNDxgNN3szlKXY182KVNpD0WQwakORdYWV3eoFaaTcAEvcmdYl4Z8k+sUEGUlC1Eo8agDQxID08hAJJnergBJKeMXkg6XO09YlvBiDdBQPJUFqZk3jUfGFT+0KGed46kBzudAfq0dXcBgCp9iauYdrujDdTIJkIAyClDyRxVQUOJPXjGoEkZboCpFk/+CzMShVIdwxIqjcNSHfqvhJOIBmsk4+aJ2za4NyNwZvpmOD6GYB0M0Mg6bPjYoCkLMm6ICCpeads4QbL4QWANKSM5433X9hyc4FAelA7PgsFEt/gtebMwEDyWZiVKpBubsKAZHhyKBJI24nBNoF0qa9MFwQklicsAW43XQiQCgBpNPmA1K445wPSg5a5aCAVYUDSh/AWCiQ+Aa5OuoCkTmfw108Dks/AopSaVq03FAokKTNvcxcIpPo5WABpEkBiS/o0z8GGAUlSFJC8FmYlBiQ2ieEuEEimB2WjgOS1MCtRILXzs91Aiq3fDIFkvF/UEUieJRwkA9+eSyYfwRosaiV8muW8T08dQGqH7fqt34AWIwLpa9a8/HGeZdn5D1JSroogtrLPg7Sjng1I/LjFA+muHn7jN488QGKDeosHEltGod2ayAEk1256ywbSZVcgaUVaaNMAKWDNIIOPwS08QCrYOqpVwgIktub3qZVHAJKiH1kDpPdZrfeEpFIVQQ98wtyDH0gPfGU7AInfD7oTxu4sQKpXbzAubbc8IN0EA0lZjy60ftFdKosSalrlx4cutw0kx+YWNpMIDQqkou39VK91b+yQUwApTBsecSB9zdbf/xZ/v6+zq+ikWhVBLV0EbtiBZFtrdb7nzQakQtqVyAWkwjxe56neTIFUiBMVfD0kAKnUZY2EZmsjF5DUzpSlfuFAqrtH0wNS0+k5bXfjMwCpAJBi9D1rgZRl99Xf39k6OqlWRZBx8wcHkEbs7yQHJI83kVXmxblnF7UgIIkZBm/9Dtl5DSxKp2llT7A2/5iBxNddkPNs9XMcJhswrxMGUjNx4RRAKtUBSL/fZ9l7DqQfTV/nY/YzMqlVRVA0kMya73nrB0geb8FKPGqRQDJ6c6HIbKFbRxgQfPRu4Ypau/7cpbjYjx9IlwpH7PXzASlw3SCnjwEsXFETpimwG0fVHzOQ1L1je6rfgBbjAGnTO/pacCBdZXyCwo9NblxSq0qrsP5OO//OpvmeNwuQArzx3YwCvAUr8ag5w6auM2fx5hqsM1t4NV0gXYpz3DiYjECq115oJyBoMxGWBCQDX+xAav5xegtW4l/RLkA6vy8aIJ1nv1n27+w8MqlVpVXgANyD9iSsz8KrqZw3U9Qsu+Op3thOfQHegpV41NxACvN2084I97oL1ISBdKkn7EBim7oaBu+c9bMDSfQYokSiFj8AByAF6G/5DwfSup3+Xd4XikpqVWlkYQyA5AFSmDfr7DqbgV+JR60fIBW2bfosFl5NGEgGMyeQ+Cw83dBRPzNvWiBNbVJDPF4ApFBxIGWZlBWVLKtRKhdVPQ37kIfqIQ8/dg5qr3Yp+65WaCl3efCh85A5bGwOd3ApN3n4sXOQ5WIr7wJFlLI5+JJkmFsPjipl27JErZy9MFKNpqBEgFSdN61wW5/HwF/j5AenhUdT+SGhR83a5dG9OQfsZhg1wrrVJm/OAbtF9ZBivLXPCxmnxbl6SMaJ3Xn4UF2Aj/4t+onaJC2m30OSq+ITgES52gEkAIlm0RuQ+KtAC8HSMMwHICVrASB5biHN+Lx1ApJt+oPdIN5F7xYAEslk/KbVjQ9X/S7VBVdrAwApUYsEgPRGnqcQldSq4hOABCDRDAAkikUSQLq8LNQHlwCkRC0SANJA077NApAAJJoBgESxGL1pNQMpFkdLi9p4FgkA6avwrOtVZFKrik9GIEVbxPvo2yIBIMUaxLvo3WJ8ILlnfQNI3bwZdKltI1sASAlbJACklizVMgxRSa0qPgFIABLNAECiWIzetDbT7IRuUvR4Xe+18liMHrXxLBIAUrNe6n2dE5VUq+JTmmdhikDq2SD1qCXaSABIHgthfl6zdh6AlK5FCkC6anaU+BqdVKsSXPuJWwBIABLNxcKaVnnCOAMSopasRQpAGmiDPqPSPAsAUvJRS7SRQNPqsdA3Sb8EkBK2SAJIxf/kXcmjknJVfErzLABIyUct0UYCTWukRTVsh6glazEikHoUzluEAYBEMkizkUDTGmtRdpEQtWQtAKRpWgBIABLNBZpWRC1hCwBpmhYAEoBEc4GmFVFL2AJAmqYFgAQg0VygaUXUErYAkKZpASABSDQXaFoRtYQtAKRpWgBIABLNBZpWRC1hCwBpmhYAEoBEc4GmFVFL2GImQIIihKiRhLBRhKhRhKhR1PBgdCBBEARBUCkACYIgCEpCABIEQRCUhAAkCIIgKAkBSBAEQVASApAgCIKgJAQgQRAEQUkIQIIgCIKS0OhAGvuJrGkJUSMJYaMIUaMIUaOo4cH4QLqFgvUMUaMIYaMIUaMIUaMIQJqmcLWThLBRhKhRhKhRBCBNU7jaSULYKELUKELUKAKQpilc7SQhbBQhahQhahQBSNMUrnaSEDaKEDWKEDWKAKRpClc7SQgbRYgaRYgaRQDSNIWrnSSEjSJEjSJEjSIAaZrC1U4SwkYRokYRokYRgDRN4WonCWGjCFGjCFGjCECapnC1k4SwUYSoUYSoUQQgTVO42klC2ChC1ChC1ChKFkirVfBnsB0aVsTFerVarS/U7LOj1erw5NpscxZctwBPSraStNQj7GpfThBLvfNXNShsy4ma01Or+KZ1hiEsFXCFtULUfEWatHggbQJW6UjK/XLAso0t31HMdenxpGbLSWs90gLS6EEsdRFQ1aSANHbU3J4Epdu0bi+EpUKusFaIWvgV1mrpQHq3Oji7vr0+O1idiNkHq1efbzfZq9VnYsGhnpRsJWmtR1JAGj2IpTatxbSANHrU3J4EJdu0bi+EpYKusFaIWvgV1mrpQFqtvlR/P68OhNx3q1f1i/PVmlhwoCc1W07a65EUkEYP4kZnq6kBaeyoeTwJSrZp3V4Ib0OvsFaIWvgV1mrhQLpofiS8Wn1qsw9XfNTTWAbl5Fg8KdlK0l6PlIA0ehA3362j1epoWkAaPWoeT4JSbVq3F8LwK6wVohZ+hbVKHUifT8oBz6N31zyzujA2HcCLzd9XX3ju9cnh6uic27L3jEXIOmlGNy9W70zxMUSSDYsaa2c1snlSsq316QSkuQexKu5dyFUfA6T5R83hSRK5aZ1NCMOvsFaImrNIixIH0gmLxOrgS515USc/n0i5Z9JNuqM6dW4sQta6Gdz8bOxVnun3KoSTo9XOEX6LJyXbVh+tHjFAmn0QNwevvwRd9RFAWkDUHJ4kUZvW+YQw/Aprhag5i7QobSBdrA4uShJfHNajkZs4vLq+vT5aHa5OrssfDic8dxOdT4d1fNerw01P9Mt6ZSxC1kEbRu2uxKbEV6sD028MFny9dvL7IZ6UbPNRhnpEAGn+Qby9vbZZKAoH0hKi5vQkiNi0ziiE4VdYK0TNU6RRaQPpkMP8uv68qzr8n1Z1ND6tDoXcMtSfhVt1h8YijGE2RrT6/WEMJDtUr52tKLsnJdt0lLEeEUCafxAdForCgbSQqNk9CSI2rTMKof8tXYiap0ij0gaSmlyxu3B8GiHPZYOiVc/wZMXGVdWnBiJPzuej9aYffGjo85rOo5TdK5DM9SBNaphrEB0WiiiTGuYcNYcnQZ1vz08+hP63dCFqniKNmgKQPp+tD+SPL/9d8ckcX8oR1SM2qXGTMhVhiqo1otfmzqZ0qF67foFkrkc0kOYcRIeFolggLSBqNk+COjWtswih/y1diJqnSKNSB9LFK/6wr/ip1ZMjGskprQhZnpNTzow03I5rDjXXrn8g6fWIAtLcg+h0LikGSAuJms2TIHLTOpsQ+t/Shah5ijQqcSBVczrWZ59v6SdHKULWoXBy9Bt8t+VPjkM9k5dkqV2MJyXbWh+1HtGz7OYcRIeFothZdguIms2ToE7zxWYRQv9buhA1T5FGpQ2ks9XB2Rfh8xJOjlqELN8USOdPTlvtYjwFTvvWyowA0vyD6LBQFA6kxUTNZiWI2LTOKIT+t3Qhap4ijUobSLY5HerJqUNUB1gZT3XPOHknPCRm7lQ6Tk7UjBOLJyXbXh86kOYfRIeFoi6z7GQns4mazUpQb/PFZG8TCqH/LV2ImqdIo9IGUvMxzt0nh80xOSufPH63OhNt1CJktafkRFyR9qBZ8+KT6UcEK8lWu08RnpRsJWmvRwSQ5h9EuUSXwoE0/6h5PAkiNq0zCqFsGiZELfwKa5U2kA4Yj794Zpwc8KOuyx8J7PHkA2MRWpzrg79I7540D5QdmVZOZ8eqRfNjjyI8qdly0l6PCCAtIIjyB3IoHEjzj5rHkyBi0zqnEMo1DxKiFn6FtUobSCfVA8jlQul1EG0npzrs4qBemund6uCieobZWIQWM74Uu7is0/VBvWbUpyPTo86bs3JRPrmtFn1WOz4yXwZmT2q2nLTXIwJICwii/IEcCgfS/KPm8SSI2LTOKYRyzYOEqIVfYa3SBtItm2F4cHFYPR5mOznv6sNYV/RVnXpnLELVEZvDeCQV3OwsZRxkfcUmPapFs7Is+3iZPQVu0KfWI2aW3QKCaEgZFTHLbv5Rc3sSRJ0vNqcQSg6ChKiFX2GtEgfS7clhvbJsPQhpOzklg8VdwDepo0/mIjSdi9v5tmEt9949eGXZV+oV6zGrRZ8dbmy+2K5bi6dzeT/hc30Lc0M9op5DWkAQ9ZRRMc8hLSBqTk+tyE/UzCmEsoMAIWq+Ik1KFkiQU/FXO3SLsNGEqFGEqFEEIE1TuNpJQtgoQtQoQtQoApCmKVztJCFsFCFqFCFqFC0LSCtFiRlFaMSrfcpBHC9siFpnTSyEiBpFAFJCRhECkEgCkChC00oRokbRsoA0HyVytU9NCBtFiBpFiBpFANI0haudJISNIkSNIkSNIgBpmsLVThLCRhGiRhGiRhGANE3haicJYaMIUaMIUaMoJSBBEULUSELYKELUKELUKGp4MD6Qgo/Mo8tO0yLepDF4pr0Y0ltSFl0+ByFsW/hI24hBFwtEjWKRZtRS/4oCSCNaAEgAEs0FmlZELWELAGmaFgASgERzgaYVUUvYAkCapgWABCDRXKBpRdQStpgJkHIoWM8QNYoQNooQNYoQNYpSAlLwkWn+LEAPKfmoJfqrFb/1KRaIWrIWM+khBR+Z5lkAkJKPWqKNBJpWigWilqwFgDRNCwAJQKK5QNOKqCVsASBN0wJAApBoLtC0ImoJWwBI07QAkAAkmgs0rYhawhYA0jQtACQAieYCTSuilrAFgDRNCwAJQKK5QNOKqCVsASBN0wJAApBoLtC0ImoJWwBI07QAkAAkmgs0rYhawhYA0jQtACQAieYCTSuilrAFgDRNCwAJQKK5QNOKqCVsMRKQvr/PsjdXf3nyx3mWZec/SEm5Kj6leRYApOSjlmgjgaaVYoGoJWsxCpDu11ktRpX3LPmekFSqElz7iVsASAASzQWaVkQtYYtRgLTOPv4uir/fs+x3mfyarb//3STX2VV0Uq1KcO0nbgEgAUg0F2haEbWELcYA0tfsY/3if9l5+SfL7qvk72wdnVSrElz7iVsASAASzQWaVkQtYYsxgPQm4zePsmzzz4+mr/Mx+xmZ1KriU5pnAUBKPmqJNhJoWikWiFqyFqMM2TWqgHTFbyVtaPM1MqlVxac0z4LL4vi4HycAEsUEQOpmgahRLNKMWupf0e5A+l51d87rO0lFOQx3HpnUquJTmmfBDSQjkQAkAInkAk0ropawxYhA+vkxW5djd+usySrvC0Ultar4lOZZcFgcl/8zQAlAApBILtC0ImoJW4wGpGrm9t/6lZAZmdSq4lOaZ8FqUZPo+FgfuAOQACSSCzStiFrCFmMB6ff78/LZ2HLGXEcgPSuVz1PHx/qrzmqv9t6KTFL7/Ra3lLD1K0SNIkSNos73kP7WY3boIRksqmE6sVuEHlKUxf5Gm386O0EPqZsFokaxSDNqs+4h1fpYzmoAkMxAUjM6OlkUkPbL/xmIBCChaSW5QNS2ZDEukO6zN+VjSU26nKcQldSq4lOaZ0Gz0HgEIEVZ7Ct/yU4ApG4WiBrFIs2oLQBIVS8H076HBRIb+VsSkPYBpD5NZte0ImrJWiQApK/Cs65XkUmtKj6leRZUC8OjR12AJBvMF0glh/aru0dNDtnJvmqQZiOBppVigaglazEGkNbN0kE/y15OS5ZqGYaopFaV4NonbWF4FFbqMx37nZQYOq6nRig+Zg8kMYfshJUDIHWzQNQoFmlGbbZAuuKLqxbvK6jw9VLv62kKUUm1KsG1T9nCtDSDCKTjECDx/7jZ/IFkmFcXC6TWnr0CkLpZIGoUizSjNlsg/V1nH0uq/Hxfk+mq2VHia3RSrUpw7VO2MK4V1A7jHQcA6bixWBCQdADFA4mP+i0VSE82ojvhpok3rQBSshaj3ENqNuhjw2/YoE9OmoHUZHMgmVddtRWxCCCp2hcz9wOA1Az5LfMeUgUjjUgxQHoiWywiar1bpBm1+QKp3sJ8/ZFPmCv+J+9KHpWUq+JTmmchBEg1iI5558e4wJ1wqN3HooCkzHDwPRnC+AAAIABJREFUA0kpZllAeiL9ITjhLEu8aQWQkrUYCUg9a2bnzQakogFSUS/kYFrkzlbCIoEkzHGobjCFAMniI81GIgkgsX7Vk3a4L/GmFUBK1gJAStDC2vM5Zp2kyuSYrwRuOtDhY1FAEh5JKofvACSXyRMqkJqhOtxD6sUizagBSMGa2XlzAqmZxX3MD27uLTlLWCiQGInqwbj93H6YuYQlAGnDoRJFwq0jhUh+IKn3nRJvWgGkZC0ApAQtHPeGmjdzMbN+6KjZq8LYawKQCv7YrGnZVUsJCwBS3b+RiBIPJJuP2UZtUIs0owYgBWtm5801fc5g0sxwOGbzHozTHRYLpHrqHJ/FzZBkJJIhbxlAqu4BiVlybwlAApC2ZQEgJWgRCSTpeNZXchgsD0jSY0X7yjrgjoWGiqUAST0EQOrBBECyWez16gRAGtwiFkiqjPMcZg8k570h7bGidt27pstk6jUtFUhNXskmAGnwWu1KFmlGrT8gbdSfEwBpaIsQHrmdAEiqNCCxfhK/taQ8smTwkWYj0QuQdD0RZoADSDSTCIvd3SUBaa8AkBpN4bwBSCQLJ5B0E4k/+2qGbpBmIzEQkJpO0hM+fmc+ylZA4k1rekCSLdKMWo9AakftNDIBSKlZBPGoj/O2bCBpMs5zmD+QbKRpgMTWt2P/Mx5p9zHXqPVqwXiUetT6AxLj0F45etfZSZJAymegY+XvUHo2q6i12h+2gLmG7Yn1jVLN65ytxBBRQKm5Rq0v7e7W/5c146jt7e3xv+WrvXyvt6JTAlLwkQn/kGgedB3Gydx7SCEdJLcT9JDkN5qVgPJmMQblAVprAYn/1k+nh7S7y7tHRfJR68FirxmsK28jVbeS1C7SPHpIwUeme974igsAEsnC8qhrVyeLBhJ/M5dy+aJ1zS0ml4+5Rq0vi10xkXjUulnsKZMZqoE7ACnd81YD6RhAirMQlqobwsmCgdS+KQOJZdf3lUzbJxXJN61pAGm3vXukWKQZtY5AqiZ767Pr9pT7SADSVi3MuKmBZFtjIdqJ22CmQBrGycKB5HTCF/l2Wcw1an1YbGi0HCAZJzBUb7SUqjpQANJWLWTgiLu51v2j0A4SgMSBJO2n17sTAMnhhE3Bc1nMNWq75qOinKg8Sj1qQRYydLhFPVZnAxKDUv0vgLRVi+NmN6Pm39oiFETkak0ZSObxuLwo1A1euzjxGKTZSIwKJHsBiTetvQBp14OlkCE7i0WaUQux2DMCyblWUI0qtnrDnnMVB3etAKR4i+NmsTnphhGA5AGScWSuBlK9MB2ARDQJ4BGApJnsVosr7DqJ5HOi2yYetQAL9SZRHogY4fZS7saXo1YAUryFsPTpMYAUbMGBU/eH9oV1gFg6kEcAkmbSHUhOi3lGrbr7UyOp5ooJTJMEUsd1T9VZc7n93pHNb87m3wVjCUDqYCHuoXfcTKzbWARPZiBXa8JA4uug8n32imbp7mASUasFIJGcJNC09uuiNuEM2eX/7nI2uQbgLJorkPYEnOSx428tw8TOlnl+nlorACnaQpnR0GxBDiD5gMTJI+62ByABSDQLYtT4HAThTz12xwbw4pwkCCTP6JrTB+8KsendeyyTACQ+BUJc766dHC5m70m1ApCiLY611HEDpd6c+AymCaT2NYDUyYVsEsKjZQJJ4UUFpHqgTpkbV4/ZRQPJMMo3dtT2tIeCgn3s7bX3ioQZddE4qp3sSdZ7zAH3pOT0AaS/V2+y7M3VX57+cZ5l2fkPUlKuik+jAulYB1L9N55HSwdSOX6Xhz4O26FaABLJydhNaw8G+pRsy90iPn6nYip3T8JLEkjuGz4eIGllkYEklSE8psQH76SK9gCkH1mtNaPKe5Z+T0gqVfFpXCCZk+FPw4Y48RpMG0hs76KiAlL4bAZqtaYMJAtsRBPjQ0RRTjwW04salwVILgvRuAKSrfOk80uu1jhR29tr/43zYRjp22sX9SZXSyGPNDW8ze0OpN9ZdnVfFPfn2brqI33N1t//Fn+/r7Or6KRaFZ/GBJIdO53vBMQYTA5I+3qK9ZJ6dOI1mF7TaqFNZdLuv9fRicdielHj4jRptobY9QOpnfRQAqmehCevx8DvOCUDJKm5lzOCfRhWpGP06A6kPXlyg8uADKSP2f/4iwoqWXZfJX9n6+ikWhWfxgOSa2AOQHJY7FuSBB4tDUg1bxTq5PKGsEPUagZAaljCgeTlkQSkgtOomvlQT38oiqK5BWUsbdtR2xNH2va0IbJAHzaCVftLRNdKApLW8xoGSOuMvbivoPKj6et8zH5GJrWq+DQikBzjcgBSOJAC3iA48RtMr2l90qw2J3EnFxagA5Bs2uVrzckz65wmu2ziXf0nb812BRS15durtZ2o1ZPhhJkI/QKpfKsrkKIMephll5Vousr4BIUf2dfIpFYVn0YDknPmAoBks3DdJdpq1CbYtD5p9jTSgdQs2D1IraYNJL4Eg7Q8UACQ2OJ0nGEKkLRjHdXaEpAKYYxuzzMwZvdBnAYRYjIOkM6z3yz5OzuPTGpV8WksILmnLQBIViA5ukEAkhdI/F8RSnmLqjAeLQtIUlemfdQoBEj1SBy3zpX8iGptJWpNl0jdJy8OSB0fpe1u0iOQfmYfC2EEbwOodWRSq4pPIwHJM48OQAKQaBYOgydyosFP3kAKQDJIf86oGroL9dHOYUgcSCJ2lNkHMUByD6tNDEjn1fhbJjAmi0yW1SjV277sA+l47AoIaq/2sWvi1/7mv0Q0pbBVeiIlnogZT7SDh9LkorbL/q/k6lk2+12TfaQGjtre5n97e0qONeUrKhl1BtLPetCtI5Cq8xbsc6weUt8+ltFDck+kQw/JYaCMxwl3kvLgnhG5VtPtIVm6MrvhPpr7RclGrV7aR5pwYHqoNciH5y7PpHpI9+v6MaT5A8n75CuABCDRLOxAUpL1zuPlnzz43hG5VhMGUmcfTQnJRo3dMbJbBAPJuyb3pID0hj1RNHsg+VdiAJAsQOrZx9KBVE+5A5CsBvZbPVttOIaLmjB9wQMkw9OuqoV/j4gpAek9n8D9Rp6nEJXUquLTKEDyrlUHIBktPA8aAUhWAx05ApCGr9VUgeSYezAXILUQcQCJ7yKh7W6kHOedlz0hIDU8mv+0b/9KdQCSwcK7UB2AZDOw9IFqKM2kae1iYTHosv9rrxaD9pD8FnvNjkQcTQaLoL3GJwOk+5ZHxVfhWderyKRWFZ+2D6SQpVMBJN1i37s0EIBkB1KfPtJsWrtYmA2cc7NnErVQIAlralv6VHEPrYZrFCDdr1seCWSplmGISmpV8WnrQApayBtAMgDJuzQQgAQg0SwsQOrVR5pRCwJSIQJJWN00F+3nBKQf2fq3kOTrpd7X0xSikmpVfNo2kMJ2lgCQVAt//whAshl45izMpGntYgEguS3anfr2xEXucmlt8B5r1cmkO5Du1+t7MX3V7CjxNTqpViW49luyAJBoFiFLeQNIABLNYrFAEiniAVJhAJIwgBe2scQ0gPQxa1VlzHiDvrCt9wAkDUiD+FgIkHr2kWTT2skCQHJbiEAS/s33mq5TWAdpIkDKVCAV/5N3JY9KylUJrv2WLAAkkkXQzhIAktHAN617Hk1rJwujgXu5uXlELQZIql1zN0meetdDrbqZ9HAPqXcldbUDSBQDAIlkASBRLAAkj4VpYzxhmnfwVrAAkk8AEoBEM5hI0+pfhmEeTWsnC5OBZz3uqUdN3548GkitBYDkUVJXe2nRcAhAIlkASFQD/7JAU29ae7AwGPg2iJh61PY0isQBaU8EUiiPACSvtgYkRiIAiWIRtjk5gKQaPCme+FcGmnrT2oOFZqBtgtTdR1pR29NXVnACSU3vAUgx2vrV7uRMXq7OUM/3DuPRUoDkW7t7P+hAt4+eTSYGpJBlUyfetPZhYQJS3z4Silr9dKtvqVTJQi8BQIrQsFe7SpUSNi7S1BYVkQCkVp5nXQEkioXaQxrCR0JNa08WisHurvcW0qSjZr7lEwOkekbDNmIAILl0XNFHxc+xZ/3uvO0dLRhIGlT23YsB5RWy6iMAJJJB2LYSU25ae7KQDXa9NKL4SChq5v5MHJAKAClCA13tx0YgHTf9H56hcIcD6XihQNpn8NnXs90u+BFhPAKQVIOwjSWm3LT2ZKECaQgf40ZNGqDrBUgei6BaDWKyDCC1SKmAJPDn2AsknvaM7BFq1cVku0DKq97OvpzrXDA1r5cL4v/vu1JEkxSAFLxSKoBEMgCQNMVbmLVYIOU967j8r/zfMX99LL5V/jlmqVx8k2dJhyamZ4NFbUOhCkSbP/l++d++8E75uswUj1WNqz+5kp+IBgyboCdaxkZk4/G1nah10u7u2DXQ1D1qe3tiIt6c6ndMpQSk4CMD+duMth0zi2M+AMf7PMfH4oHC6Nxx6yNsZdXwWnUy2UIPaZ9PXNjnUxT29+U+D5/XsC/cMGqNm7f6rFQ3k233kLQdXZ+4p86JLgK3gp3Yb/0hLCQD7wQ7mo90ekiWKXFb/UQDmiTZQwo+MhxIqsWxclOITVw4ZlPq+ETvZQNJNdhn2GmAxG4S7WtDc/uNC/9GSFGV6mayPSBVOKk6RCJYqoQbSM27ABLJIIhHU4sagDSqtgEkdbY3m9Z93Pab2N0lwcfigcQmewt9IQlIQm9IAFIgj+YHpCdPVCDVrx1dJACJYgEg6RbxPgaxAJCMCgASA9GxnFUmp3Letggk4RhGIjbHoR2oa10sDUhPnrCBufpvDSBGohAgcYQBSCQDAInoYxALAMkkETK5mK0DSc46BpAUg/1CB9J+wW818ZwlA6mCEeNQznpK8lid4y5SLhwIIJEMACSij0EsACSTLEBSu0MakGpkTeW89Q0kESSigTp5QZ23UD+zlHjUhgRS+4pbVN0loWdkB9KTlkUAEslg1kDaKwCkEUQ5b677O1YgqUdpqwqpFrG1Gs4EQKKYbBVIhQqk9hgBTRJ3hOG6QB5NrWkdwkI0COPR1KLWAMm+UwSANJwI543PjjMeFQgky4OvUzlvFCC5htNigKQY7icfte0CSV23uwGSMglPmNEQtm5QcK16shgOSMJsbaOFCzS5cMxcgVTvNO7YughAGk7R561efkFagUGUDUjKURbrqZw3ApD22RNExoNsQJIBZFjSbl+ziKrUkCZjAUntCvExOaUn9MTUieqlVj1ZjAYk59NFOT8maBm7mFr1Y9ELkKotJwp10wmrRbyPQSwWACSJGnndreErA3UCks16KuctHkh8RkIkkOSjLNaJR237QNJ6Qk8MQMotx3euVU8WnaLmhIUEJO1I9wZHOS9gjkCq94YtGJDsO0UASMPJDyS+P1F+LKyWal39FEBSejG5MFlOXWLBaOKo3gKB5IRFEJBqEvFZ4M343JyB5NmjaLc9INd6OrvV224XMwXSXgOkuncEII0g43njzwmxFVKrl8e5sk1RJyBZrKdy3vxAakbX6hXqmnV/AKQo42ZWt1GhQGqK4I8tFRKQZjepwTOeVt3/qZmU76qDb/WbThe7rIDIWoVrLCDVKKpeOvfRA5AUfc2alz/Osyw7/0FKylURxBDEB+aOC9M9IwBJ1T7fP4L3hfbZfwJJOgHJYp141Do0Ek+eCAjRZQGSdpQAJJ7xZCsx2H7TynnC/29Snb1bdZRqCe/ttv/aquc7xmASp+GiZt5ub4/P8W5uHLn3dQWQZP3IGiC9z2q9JySVqgg6PubrzzXLzlnmaeumwuvlAWmfk2ifJwxbGxktw6o3RyA9Mf3Jn7D524U+PU4z9dTvyRPl9lFd4kyBxDs8jmkHPHuXD8+1bNkNAlLhPsZgEqdtAWmP2e7VKhzzGPqq34AWowFpwyMOpK/Z+vvf4u/3dXYVnVSrIkglUMUl9eN2A5JZUzlvLiA1kw+UvhE/xmwZVr1ZAklYvadBT/nU6hPxESKjwoBU6EAqk3ME0q444GYDkpjL+1TtWx7a5GL5gbUKPK4XCz+QmgdeOX1yIWvw+g1oMRaQvmctkLLsvvr7O1tHJ9WqCNL2zQOQKrmv9n1ly4i6d5SrB5lNO1Qv9aj5gfSknmxQ/8NnIcgLMRgVASTdbtpAMhIjVzKDgMTz5CeLXECyvGVTQlGrh+T4sBwHUiCGeqnfgBbjAOn3+yx7z4H0o+nrfMx+Ria1qggCkMwGXiDJadNDQgCSohZH/IkhdR+JoiuQzObTB5J466e27QAkY4HG6k0cSHxO9x6/awQgdQHSpnf0teBAusr4BIUfm9y4pFYVQdrtojAgHSszH+Z73oKAZHxqFUBS9KRZ47SdcaD1acxAknKXByTxdlFnIO0W+mQ7c/WC7x2pPrZi4QMSf8HnMex5JtS5vSVlMRKQzu+LBkjn2W+W/Ts7j0xqVWkVNuGAHdUwqH1s1mbh11TOmwVIpgw/kJSHk2YXtSAgiWl5TjbLNZoG1m9+QKrnxvEpCM2dH/UoowcTkAoVSDYiTRpILXoYhfb2HCvWBXhLymIcIP0t/+FAWrfTv8v7QlFJrSqtiEDSzOZ73kxR0x8ScgCpOVjdY2KGUXOGzTADzuStG5A89RvQZJCmtZ2rvdve/DFN844AkjYHYn5AMnSFKhyl+YWbCpAqcSBlmZQVlSyrUSoXVT99lAfpuDGpEsd5oN2E1V7tUjZ79jWoiH1u0tr2WME0ZQ5bfevoiXa0nhOVORtZLrYSRflu+YKnm2z2UjjWWLA5tynJc1SueUlKlqiVXaF8Tzt6T89apBIBUnXegp2ae0hs4W/jUkDz/SERv5Ydl7xkg2nphdlFzRU2wxNG6CHVCr3Y+Dxtw3NHxr6MlJnb3nD0kNzVMZls0WKwdRPTt5h+D0muik/ax22fnLUsTTff80YHEt+AvH54dvFAMigQSOq9p8UCqVa9EJCaaTzS6E07elf4v2gQzaOUo9bVW1IWAwHp8MMvb0FpAKk4tpHIahHvo3+LsYG07+wfzTBqfTQSfM2GJq3segQgdQeSfpxhzToAKVmLgYC0s7PjZRIHyht5nkJUUquKT4aPa92EwmoR76N3i5GBxB+gjTCId9G/RQpAavd4NSwmBCD1DSQ2FXw3ZK6DSwlHrau3pCyGA5KXSQNP+/bUvpVl31eHRbyP3i1SAFKcQbyL/i3SABJf1iHAItrFICbjNq2mNX52o4CkPC4bP8XO7aN/CwCJYuAC0p9/X3iZxIH0VXjW9SoyqVUluPaCnB2kGZ+3TkByd5DmF7VegPSk/cf8lCyAZAdS+1fdNMJVv13eOxKmS+wuIGpTtRgISEUAk/Slg6plGKKSWlWCay8IQKJ4A5AI3uxrftssol0MYDJy08rWWt1tn6SNqF/zZJOwRQWAlK7FcEAqfEzSFle9r3OikmpVgmsvyMmjGZ83ACnGoJ9GwrOvK4BkAtKusV/ksBCNpQUgWFFLiNpELQYFUiEx6Y/yVkOUq2ZHia/RSbUqwbUXBCBRvDl5NL+oAUgki36ixobbiEBSigKQUrYYGkgbfctqJO28vJXyh96gz137iVsASAASyWCSTatnFkJU/UwT+QI0wahN0mJoIN2ecRyVOhPfEsbc/ifvSh6VlKsSXPuJW4wPpJ4NUo9aX40EgETw1ieQSAaTjNokLQYFUkOjF//++VWN3X2Ir2CIcN4iDAAkkgGARLHoKWoA0oDekrIYDki/BBrVOf/u7GSmI7sL5y3CAEAiGaTZSKBppVggaslaDASkXx8OFRpVx+3QVr3zCuctwgBAIhmk2UigaaVYIGrJWgwEJAONiuLPJifWW5hw3iIMACSSQZqNBJpWigWilqzFcEBSaDSocN4iDAAkkkGajQSaVooFopasxUBA2iaNCpy3KAMAiWSQZiOBppVigaglazEQkLYsnLcIAwCJZJBmI4GmlWKBqCVrMdyQnZjMhrp5xKsCRQhRIwlhowhRowhRo6jhgRdIg02vgyAIgiBBPiB9A5AgCIKgbUikzdsdow5HqxwEQRC0HIlA+mMG0j+jVQ6CIAhajqTxuH8MOHoBHkEQBEFbkHdSAwRBEARtQwASBEEQlIQAHwiCICgJjQ6ksZ/ImpYQNZIQNooQNYoQNYoaHohAqgfr9HkNg8GoOm+3ULCeIWoUIWwUIWoUIWoUAUjTFK52khA2ihA1ihA1igCkaQpXO0kIG0WIGkWIGkUprfY9diymJFztJCFsFCFqFCFqFAFI0xSudpIQNooQNYoQNYoApGkKVztJCBtFiBpFiBpFANI0haudJISNIkSNIkSNIs9+SJjUkKhwtZOEsFGEqFGEqFEEIE1TuNpJQtgoQtQoQtQoApCmKVztJCFsFCFqFCFqFAXeQ/r1T5Z96w09ZuG8RQhXO0kIG0WIGkWIGkXBkxp+ZTsfeiKPRfbztloFfx7boeFFvLMdeRZcCVEX69Vqtb7wZCvJs6PV6vDk2lFs/NU+wyA6PRkVHbYZRs1/canq1LROOYLOIn1abNTiLzBB4bPs/tnZ+a8f8liUBpAubEcekS7MzbmpdOTMlpNfDljS2ALXShtI2wmi05NZSQNpK1ELubhUTaZp7TmCziK9WmjUKBeYoHAg/dnZedsPeSxKAkibk9P5B4egd6uDs+vb67OD1YkjW0kerF59vt0kV6vP1oKTBtJ2guj2ZFbKQNpO1EIuLlVTaVp7jqC7SK8WGjXKBSYo4jmk8SY1bO/snK36PTur1Zfq7+fVgSNbTr5bvaqPOl+trQWnDKQtBdHtyayEgbSdqAVdXKom0rT2HUF3kV4tM2qkC0xQVA9p7kD6fLRaHfV5di6aX6evVp+s2UrycMWHXx0u0wXStoLo8WRWskDaVtSCLi5Vk2hae48g6QITtMyokS4wQVH3kA77IY9FXiB9PimHxY/eXfPMKpqbjuHF5u+rLzz3+uRwdXTObdl7xiJ0P6t3ljiycVFjNW7lF4JOmoHUi03JtmzLUcMAaTZBdHqyiQqkGUVN+WQh6qNpnV4ESReYoKVG7TboXZtCgfTrw6aDdNYXe4zyAemERWh18KXOvKiTn0+k3DPTdIFzYxGan/UXx7XJzo5WDamSstbNOOpnsQOrZFuO2nSmtXsmjahAmk8QnZ5sIgJpTlFjcl1cqnpoWicYQdIFJmipUWOKucAERT0Y+2cIDjXyAOlidXBREvrisB6l3MTn1fXt9dHqcHVyXf5yOOG5m6h9Oqy/hevV4afb2y/rlbEIVdeuKLN8vRry+5IO2jxxJF/JNh/16dXqwD51kgikGQXR48ksGpBmFbVK7otLVfemdYoRJF1ggpYatUpxF5igGCAN/GSsB0iH/CffdR2HVR3/T6s6Sp9Wh0Ju+YX8LNzQPTQWYXdmz9er4bAT8sS3lWzTUdUvHscZJQJpRkH0eDKLBqS5Rc13canq3rROMYL+t9xacNRiLzBBwUA6PBv2KaSISQ08LJ9Y6rOUy4bOqx7jyYoNrKpT7elnR6+Gw44MpM9H603P+9DYy67UeVLD5IPor4RBXSc1zCJq3otLVZ+356cTQf9bbi03atEXmKBJbD8hfPDPZ+sDOSzy3xWf5PGlHFI9YlNfNylTET5n9ny9Gj33kDa6dvV6OwFpFkH0eDKrC5DmFDX3xaWqr6Z1WhH0v+XWoqMWd4EJmhKQLl7xh4DFaKhnRzSSU1oRLmf2fHM1+gdSOWHXel+QDKTZBNHjySwqkOYWtVvnxaWqj6Z1ehH0v+XWoqN2G3WBCZoQkKq5Huuzz7f0s6MU4XBmz7dUw2h3KLQKB9Zsy1Hlj5xDWy07zbKbRRA9nszqMstuTlG7dV5cqvqaLzatCPrfcmvRUbuNusAETQdIZ6uDsy9CHAhnRy3C7syeb6uG0a7btG9XNYlAmlEQPZ7MogFpflHzVERR96Z1ihH0v+XWoqMW8LZZcfshDbotUvQsO/lj89w6dPXXUBlQ3fqUk3fC04kn1mzLUY669DjLTnY0oSB6PJnV1yw72ff0oubypmuI+WJyHVKMoP8ttxYdtYC3zZoOkJqPd+4+O2ySyVn5fPq71ZlooxYRFUaWb6vGJ5Nd2xaciIvfKtlK8qBZfOOTfTkoIpBmFESPJ7NoQJpR1IIuLlXdm9YpRtBTpFfLjBrpAhM0HSAdME5/8Uw5OeBHXZe/EtjzyQfGIuzO7PlqGUfs635ktOO/Xr7I7yrZcvKkeYTtyL6EOxFIcwqi25NZNCDNKGpBF5eq7k3rJCPoLtKrZUaNdIEJct9D+mdn5+W3cn2G/852dl70jiBZHiCdVE8gl8vp118129mpDrs4qBfwerc6uKgeYjYWYXdm0MEmvtd6GWe1hyPzCT9p9gB458iWk9cH9SpVn47MD1dXIgJpTkF0ezKLBqQZRS3o4lLVvWmdZATdRXq1zKiRLjBBTiCdCasz/Dc4kXyz7NjMw4OLw+r5MNvZeVcfxgYsXtWpd8YiHM50vWKzHtUyjuq0ZZcr9i5bZ6o5Rs62bdDnmDZJnWU3pyA6PZlFnGU3o6iFXFyqepgvNskIOov0aqFRo1xgglxA+iYtp7rpLf3TJ380eZ9DOjmsV5ytBydtZ6dks7g5+CZ19MlchMuZrlesb6yWcXa4OmgX11V1Lu4j3R5zLm8vfa5vYX7wyrXBFfk5pDkF0enJKOpzSHOKmv/iUtXHEzWTjKCzSJ8WG7X4C0yQC0gvpOVU/4y3/QSkqdPVvlwhbBQhahQhahR5JjU4kr0L5y1CuNpJQtgoQtQoQtQoCgfSpoeU9YgfXThvEcLVThLCRhGiRhGiRpFnyE64a/RhZ+dtn/zRtOXztlIU8y6pyF6VyNU+tSCmETZEraumEEFEjSIXkP7ZdJGaPSe+bRK3/RJIEYAUoUSu9qkFMY2wIWpdNYUIImoUOad9Z+W25RWFbt9uXr7snUGSkjlvU1B6V/skhLBRhKhRhKhR5ATSr0xcn2G8B2MhTbjaSUIC+83kAAAgAElEQVTYKELUKELUKHKv1PDrZcujD/0jSBbOW4RwtZOEsFGEqFGEqFHk237ivw8lk7KX//4xvt2ncN4ihKudJISNIkSNIkSNoknshwRpwtVOEsJGEaJGEaJGUUpAgiKEqJGEsFGEqFGEqFHU8GB8IAUfmUeXnaZFvElj8Ex7MaS3pCy6fA5C2LbwkbYRgy4WiBrFIs2opf4V9QHp14eXWbVgw9thH0IqcN6iDAAkkkGajQSaVooFopasxXBAetnsyCet/D2IcN4iDAAkkkGajQSaVooFopasxVBAap5DKqqF7QYm0rMcCtYzRI0ihI0iRI0iRI0iJ5Be7OwcfmNrrH4T1xEaRPghEWGAHhLJIM1frfitT7FA1JK1GKiH9K3eAYkt+n02dBcJ5y3CAEAiGaTZSKBppVggaslaDASkl/UO5gxIvwbfoC/4yDTPAoCUfNQSbSTQtFIsELVkLQYCEiMR3xZp8A36go9M8ywASMlHLdFGAk0rxQJRS9YCQJqmBYAEINFcoGlF1BK22AqQht8xNvjINM8CgJR81BJtJNC0UiwQtWQtBgLSW+ke0j+D7xgbfGSaZwFASj5qiTYSaFopFohashYDAenbpk/0pxCmfX+Lr1mEcN4iDAAkkkGajQSaVooFopasxUBAKp9DyurnkP47G36HPpy3CAMAiWSQZiOBppVigaglazEUkP4cijvGZr/iKxYjnLcIAwCJZJBmI4GmlWKBqCVrMRSQqttIXC+H3qIP5y3CAEAiGaTZSKBppVggaslaDAckttr3zssPhmWDvr/PsjdXf3nyx3mWZec/SEm5KsG1n7gFgAQg0VygaUXUErYYEEh23a+zWowq71nyPSGpVCW49hO3AJAAJJoLNK2IWsIWowBpnX38XRR/v2fZ7zL5NVt//7tJrrOr6KRaleDaT9wCQAKQaC7QtCJqCVuMAaSv2cf6xf+y8/JPlt1Xyd/ZOjqpViW49hO3AJAAJJoLNK2IWsIWYwDpTcZvHmXlAg4/mr7Ox+xnZFKrik9pngUAKfmoJdpIoGmlWCBqyVqMMmTXqALSFb+VtKHN18ikVhWf0jwLAFLyUUu0kUDTSrFA1JK1GBVI36vuznl9J6koh+HOI5NaVXxK8ywASMlHLdFGAk0rxQJRS9ZiRCD9/Jity7G7dbvwanlfKCqpVcWnNM8CgJR81BJtJNC0UiwQtWQtRgNSNXP7b/1KyIxMalXxKc2zACAlH7VEGwk0rRQLRC1Zi7GA9Pv9eflsbDljriOQnpXKoWC1V/vYNZmUEDaKEDWKEDWKOt9D+luP2aGHhB7SlizQQyKZzO63PqKWrMWokxqKj+WsBgAJQNqSBYBEMpld04qoJWsxLpDuszflY0lNupynEJXUquJTmmcBQEo+aok2EmhaKRaIWrIW4wKp6uVg2jeAtCULAIlkMrumFVFL1iIBIH0VnnW9ikxqVfEpzbMAICUftUQbCTStFAtELVmLMYC0bpYO+ln2clqyVMswRCW1qgTXfuIWABKARHOBphVRS9hiDCBd8cVVi/cVVPh6qff1NIWopFqV4NpP3AJAApBoLtC0ImoJW4wBpL/r7GNJlZ/vazJdNTtKfI1OqlUJrv3ELQAkAInmAk0ropawxSj3kJoN+tjwGzboi7YAkAAkmgs0rYhawhajAKnewnz9kU+YK/4n70oelZSr4lOaZwFASj5qiTYSaFopFohashYjAaln4bxFGABIJIM0Gwk0rRQLRC1ZCwBpmhYAEoBEc4GmFVFL2AJAmqYFgAQg0VygaUXUErYAkKZpASABSDQXaFoRtYQtAKRpWgBIABLNBZpWRC1hCwBpmhYAEoBEc4GmFVFL2AJAmqYFgAQg0VygaUXUErYAkKZpASABSDQXaFoRtYQtAKRpWgBIABLNBZpWRC1hCwBpmhYAEoBEc4GmFVFL2GImQMqhYD1D1ChC2ChC1ChC1ChKCUjBR6b5swA9pOSjluivVvzWp1ggaslazKSHFHxkmmcBQEo+aok2EmhaKRbpRO358+fl/5/LFmlGLfWvKIA0ogWABCDRXABIqUStpFAFo+eqRZpRS/0rCiCNaAEgAUg0FwBSKlF73nSNVIs0o5b6VxRAGtECQAKQaC4ApESi9lzLSTxqqX9FAaQRLQAkAInmAkBKJGoAUj8mAFIKFgASgERzASClEbXnAFI/JgBSChYAEoBEcwEgbSVqz71AcvhIM2qpf0UBpBEtACQAieYCQNpG1J63QBKm0RX1LAZpap3JR5pRS/0rCiCNaAEgAUg0FwDSFqL2vAISe8ioGp17Lso4YJd81FL/igJII1oASAASzQWANHzUSuIUjEYswwQgq480o5b6V7QDkP5evcmyN1d/efrHeZZl5z9ISbkqPqV5FgCk5KOWaCMBIFEseo/acz35PBfeMHaI7D7SjFrqX1E6kH5ktdaMKu9Z+j0hqVQluPYTtwCQACSaCwBpCCDJz7g+pzlJPGqpf0XJQPqdZVf3RXF/nq2rPtLXbP39b/H3+zq7ik6qVQmu/cQtACQAieYCQOo/as/ZP+yvsjJdvI80o5b6V5QMpI/Z//iLCipZdl8lf2fr6KRaleDaT9wCQAKQaC4ApL6j9rwdl2PTF4hOEo9a6l9RMpDWGXtxX0HlR9PX+Zj9jExqVfEpzbMAICUftUQbCQCJYtFb1J4X4v0jPpEBQKJbjHIPqVFWoukq4xMUfmRfI5NaVXxK8ywASMlHLdFGAkCiWPQRNWFKt5KNIbsOFgkA6Tz7zZK/s/PIpFYVn9I8CwBS8lFLtJEAkCgWfQHJtN5CkzO7qKX+Fe0OpJ/Zx0IYwdsAah2Z1KriU5pnAUBKPmqJNhIAEsWih6gZYdTRSeJR683ida9OegTSeTX+lgmMySKTWlV8mtJ569cEQKKYAEjdLGYbNQCJbPG6eP3azqQRgfSzHnTrCKRnpXIoWO3VPnZNJiWEza1HlfJHcu5co/Z80NLnGrWNNiza/LP5r391BdL9un4MCT0k9JC2ZIEektfkEcHJI/ZPSSTFYq5RC1h5AT0kgwXvG72uVP7t7KS3HtIb9kQRgOS0eLpRH04WB6THfThZGpAeCVQJdvKoseGWiTetnaMWtTJdvI80o9bNogKQwJ+aRq+1G0qjAek9n8D9Rp6nEJXUquJT8udN1dMaSRqUACSnxeNanZ0sC0iMKxKQHgX2kMw+Zho1AMkipceT89y6N6TCp8rtWq2egNTwCNO+TRZPNxgqBBB1ANJTxWDGQOIA4iTSiBTu5HFd2BKA1PSI2hfym3n73iMDfrQeVfJNKzVqnENxS6XG+SiVZtSIQHrtmsJQT3FojF+PBaT7lkfFV+FZ16vIpFYVnxI5b14LrVOkJoKcPH3a9q6WASSlZ/RYfjfMyWOhkGUAqUKKwJVHIprq2QrsT5MuM4o66fIxq6g9Z0/CBvFokUBi43ANgvLXhfFGkWhST7pjU+9ee/DlqlUHIN2vWx4JZKmWYYhKalXxKY3z5rV4Wqg9IgFPFWHyQjtEOZ6VwY9aBJAeP1YY1KYecyCZ7i1JBTwu2qMWAqRCu3H0SPiT19Sph/Pa7hTHlMvHnKLGN3sN20timkDq9ogQR0rDoFC6CBzKqzpEYKkHIP3I1r+FJF8v9b6ephCVVKvi02SApOW0RHqqit9pkgtQRvkWAKTHGmwet0h63HSf2KvmEOl4pYhlAMlwVAmbogGSQ8sC0qBOxo+au3/i8KFNmXst/Bug9sCcdZbEmthq9VqqFRlI9+v1vZi+anaU+BqdVKvi02SB1GY+ZSYVcOr/11h62uYYJuYtAkgGPRb/5DVzWD+Iw6mou1KP9XtOSwCSCSgcSI+ITsZvWnt2UeSBm+x1cTJ61F67R8zcQJIN62Tk6BtzwopqjF+LpGzdsKzuQPqYtaoysEGfkjZO9OajcBxI+uFPi6fiXSOLj9kCScdJnfu47fjkcr5whHFS3oKBJE7mnmDT2t1A4c8SgPSauojCa9N0OcLtIMUJH/Zj/7b3mKRBve5AylQgFf+TdyWPSspV8WkiQDIe9ZTNvXM6qTtILh/zBZL5sApIjzUgaaZGngFIJCdjN609GLDFUzmG8tgRuwlGjfVLrBSx+bAavO52eTJAil0ihiIxt4d7SL0rqau9u4V1tsLTp14gWQtYLJAK4ZaR0wmApL2xWCCxnfbaKXV5LI+mFzU+UGbt11h80O46BZjofSyTKwBpcAv79LlmxK7Dl3BxQCrauXcdPsdUm1afiZVHXZxMGkjP237Rc5aMntFAqdXIUTPcpQnyQZwGEWISNOIHIA1uASCRLOzzuQEkuwmAJEub2C11lIas1dhAKkhAos7L680EQBrcwvmAEdXJkoFEdwIgkZxMGUhqb6h+/GirF/QYUdOmbIf5cM9bAJB8ApBmC6QAHgFImkkAj6bWtHYysPWE5gwk8zNEQT4cUyBotQKQErQAkCgWABLFBECStTQg8WnUIleam0l+H567PACST1MAUgiPACQAieYCQHIZWB82mieQ+ERqGSz8mVZ1kpvmw/ugEYDkE4A0VyCF8AhAUk1CeDSJprUfA/vUhTkCqeWQMrma71XUPI9q9uEZryPVCkBKzwJAolgASBQTAEnSooAk8EQBy+uCb50n7aGXK8f4Z2UvFkgD7NC+dT19yv4O7OfZrKL2mP997Dysu+YVtkfsz6OB/Uwras/HrgDTsFF7/fp1/Td/bTui/O81eyUd1r58bTMeTSkBKfjIdHtIT/mKP0EdJPSQaotmAbqgDhJ6SLWJtuV4306m2UNyPWs0nx4S27DI1b953fR/Xgu7upZwas3iHloN1zx6SMFHpgyk+n9hPAKQGiCJ2xf17mSmQCrY9noAkiDn6qkzAZJpDTjDUc28O2G+nbCNXuF7/iiyVp1MAKQuFk/Z7hDaXkX1ZnpPASSTjHsX1UBiu0YASLoeiZvsSSZsg1jjVkZ91GqiQOrVR5pREzDislBxIy2v/dpwQLdadTIBkDpY8D7QU3l4Lm8X6A7k0cKA1OxeJIKHASmCR0sDUiPZxEKq/mo1SSC5FwdaOpDK//L2TQDJqaSudh+Q+OZFT9t99HLLDkh9VmvCQHrc3it6LLzObVsg9VitSQOp/B/rDEkmoSAi12qKQPJsdzQPIIkYiQLSawFIIfO9o2rVzQRAollom4o/bW8Y5cEdI3q1pgskkTpsZ1dmEYmjZQHpkfy66SflsTxKsmntZGEEUs8+koxaMJC0jBJJuf39TrXqZgIgUSxM+7iyG0abPwCSw0LuBTXbvz4GkFwGyjjdo6KZwQAgmQx8+8EuHUiyBYDkVlJXu8nCvCV5wbtJ0QN2CwGSaV/xGkYlpvJoHi0GSI/U+QqPHvG5dcFTGTrUanJAeu7dn3zqQOL7gIdZmIGzjRgASFuxcOwBW6hDeWQngQaTApLeCaqB9Dj+/hGpWlMEknH6XH0v6ZGOqiFqNTUgBWzAN30gqU8eAUjDKamr3WDhI844520CQLId/JjmYyFAsiGneuPR1JvWHiwUA2/3iOIjragZFvoBkIZTUle7ZqHdPOrBxyKA5OkCAUi2HlK/PtJqWvuwkA1CeDTpqNXrK8QAKd5HXxYA0vAW/oddASTdQr971N3HIoDkG5KbctPak4UCpEF8jBs1qT80Xn9nUkD6mjUvf5xnWXb+g5SUq+LT9s9CyNoLAJIBSN45dACSwcC/HNDEmtYhLCSDoA7S1KIGIEXrR9YA6X1W6z0hqVTFp22fhbAZdACSCUj9+1gCkLxzFibWtA5hIQNpGB/DR821eZ60zI/HW7BmDaQNjziQvmbr73+Lv9/X2VV0Uq2KQRIQeompp9MjAWmYzY2GB5K+bBzNG9EiZAodgKQbBEyhS7Bp7csbyWCqQGqW4zZ540ugqruT91O/AS3GAtL3rAVSlt1Xf39n6+ikWhVdNRI4F+IfQdUD9NRDJLmHRPPRv8noQPLcFJIsgqZ0JwgkmQdbB1LQnO70mlYZCbmeFeot1uB5uKf0osaA9NoDJOuqcwBSq9/vs+w9B9KPpq/zMfsZmdSqIogtX/q0XjSOdVXyp0/DFzCtLYwFzxdI7ZpxwmNA+ePgHR6s1fOsgSoDieijdxMKkBoo9PIFdt8UkgzCHjFKr2mtmPD8OWNDXj6m2h1I3r0knlePw4Y6Si5qNWmaDpANSPZFFQCkVpve0deCA+kq4xMUfmxy45JaVQQxEMl9pPwp2+JB7jg5lCv9oafeZ1nzoiXgJIFUrY/A/mGZjx/HPYxqApKbM6LFQLvtDQikmgXsydN21bjwLR5s9dMW63YYDL67UbyFO2old57X+HnerJaQ18mA1RMc9XMb5/yITj6Gs/B8RXm/53UDJQuQnGtyA0itsvP7ogHSefabZf/OziOTWlUEsb5Rk2SUEDcesj8h1ObnBQeb9I6DSGztbl9HSrKI1lBAqsAjcKciE18a4fFjcbVttze5P1TbuPpIufD2FIFUk4PRg+/HWtMkfHUEA5DcXSTRYPjdjeItfEAq+yjP+Uw3DqT2rSJoEpwZSA67vCl3ikB6Le1MxPaGyOVnX82PHvVVvwEtxgHS3/IfDqR1O/27vC8UldSqIki90fNUJASnkYUYAoDyGl7s4HbfIgeQWOcofHAwJSApNHjM/mMJ8/pywtGNt8fSkawIh2lew/BxETw4mBCQ2Parj9p0k9FsSBR0f0c9hnW8XPVTKOj3EXZYPxb2qJlg07KpTjwPG1TT6+chWd6+OzUgVdiRQVNtLK4CyXn7qGv9BrQYB0iVOJCyTMqKSpbVKJWLqnpCm3/zXMnOdZny6uy6lOo1//NUOt5i2np6+tRxzHhqr3Ypu8JHXv5Pzi7Tj+Uc5RClCPZu+Sp/zMp73NhaTBsLR/Hjyhw2vgNe/kg6uEyXuTyV64eIZUiGUvKReoDJ/FHlwlr+mLJcbNU43eZf5ejndb6Qwf5vkCVbeFMrPth8bFmi9rpGj0GvN+9t/slfCxlCahlKBEjVedNL1/smVb9F5a+th9T8aftK6uQ6cTDQXGbwoqnJ9JAMHRjTsnGWLgzvQFUGj3mXSL71ZO0i5c39qsn1kPQeTN03ytVMo8S7RBxw8vQIx6Bds/2r/4HY1iRWAw0+6Z2T56Zpb5Y+jNABytXpCb7huDx8qK41idVAUbP0epqbRnw2uP3Q7vUb0GL6PSS5Ki6FA0lEylMxWwNSPcFBmr/wtPExPSAZFA6kx+0LZazuseUos/Vg+5EPeA9J1SODNxuQqn9qruR8i1dlkM86aJc373S4TzWgRVzUKkyo3mxAaqHCelZtKey1lTpTBpJFHD5sQC9gwyIASdHWgVQqEkiKhbrla92HKvj+e4xLUzlv9JUaPECqNs8TszUgPW66Uk12Lh8RX6lBTPoEkoVIDVHayQ+PtLkMzgW8lVcepd60BgOpQU/+nHetpJtQ9htEedxzTqZaDWrRLWreu0eaRbyPwSwSANIbeZ5CVFKrik8dgSQfxaY7iO8/BZA0A3XL1+aRJDa7vM5NPGp9NK1uINXTIIRsE5AeKdmP9ENiazWoxWBAaqY+CDMfqr/PDQdpLqJ5NKmoheAIQNI09LRvo/oH0lMlazrnbSQg1XPp+MavBZ/Il3jUtgCkzSvBQunx8O1eC2kwj7C50aSa1lJuIBXi3SMVSCK2/EVG1WpQizQXXEr9K9oXkL4Kz7peRSa1qvjUDUjqYeZHjaZy3rYFpEIF0mOdUQCSaqEC6VHxqKFR8/gtgFQCKRezNfKwsT0xdwFRm6pFAkBqyVItwxCV1Krik/Zx9YkHSq9nvudta0BSDjM/apR41AYDkpTpAtKjZj2IJufRVmKQIpCkzNz2Brut9Jzfb+LPHi0galO1SABIzXqp93VOVFKtik8WIIlzu5XlG+Z73uhA4j2cx2KOxJjZRa0XIJmmh9uApB36yFTAEppWw4y454FAKvhSEPwGU42lJURtohYpAOmq2VHia3RSrUpw7Rs9ZavesbXvtCG4+Z63TkBqVxh6bHp0aHZR6xFI4kSER8FACnMxiElqQFLXBXLUrwWSmLOEqE3UIgUgjbxB39NmbSDjYj/zPW8dgNQi6bHhnhCleqlHrZ9Gol3YzrzEHYBk9KZMVlAB5arfc9OY3zKiNkmLJIBU/E/elTwqKVfFJ9PHtS+xarOI99G3xehAapZLDTaId9G7xehAKh41MxKMy3gDSGYgCSutGpZN9QApyAWhVsNZAEgUg65A6lEdgRRtEe+jb4sEgBS+uxHVRe8WSQCp+hNuEe2if5PRm9bm/o95hQVELdUvHIDkE4DUH5AiDeJd9G4xPpA8j6+iaTV7e86XYQi2iHbRu8n4UZuiBYA0TYvxgdSzQepRS7SRQNNKsUDUkrUAkKZpASABSDQXaFoRtYQtAKRpWgBIABLNBZpWRC1hCwBpmhYAEoBEc4GmFVFL2AJAmqYFgAQg0VygaUXUEraYCZCgCCFqJCFsFCFqFCFqFDU8GB1IEARBEFQKQIIgCIKSEIAEQRAEJSEACYIgCEpCABIEQRCUhAAkCIIgKAkBSBAEQVASApAgCIKgJDQ6kMZ+ImtaQtRIQtgoQtQoQtQoangwPpBuoWA9Q9QoQtgoQtQoQtQoApCmKVztJCFsFCFqFCFqFAFI0xSudpIQNooQNYoQNYoApGkKVztJCBtFiBpFiBpFANI0haudJISNIkSNIkSNIgBpmsLVThLCRhGiRhGiRhGANE3haicJYaMIUaMIUaMIQJqmcLWThLBRhKhRhKhRBCBNU7jaSULYKELUKELUKAKQpilc7SQhbBQhahQhahQBSNMUrnaSEDaKEDWKEDWKJgGk1Sr489gODSvi7Gi1Ojy5trwZXAlRF+vVarW+8GQrSWc9KsVf7TMMYql34R/rlhC2GUbNf3Gp6tS0TjmCpeIuMEGLjVr8BSYIQGr15WBVy9jyHZEuzCNW5JEzW06661ErWSBtMYilLiI+1m26QNpe1EIuLlVTaFqHiGCpyAtM0EKjRrnABAFIrQ5Wrz7f3l6frVafu1Wi1bvVwdn1psiD1YkjW0m661ErWSBtL4ilNs3FLIC0vaiFXFyqptC0DhDBUrEXmKCFRo1ygQkCkBq9W72qX5yv1t0qIRp9qf5+Xh04suWkpx61UgXSFoO40dlqHkDaXtSCLi5VE2hah4jgLeECE7TMqJEuMEEAUqPDFR/2NB5MOTsXza/TV6tP1mwl6alHrVSBtL0gbprao9XqaBZA2l7Ugi4uVRNoWgeIIOkCE7TMqJEuMEFTAtLnk3JY/OjdNc+sLphNx/Bi8/fVF557fXK4Ojrntuw9YxEef3LWiv9Y0qphNbo9aQZSL1bvrNmWo4YB0myCWBX3LvKypwJpRlFzeLKpj6Z1ehEkXWCClho1R5EBmhCQTliEVgdf6syLOvn5RMo9M00XODcWYdGZfq9CODtaNaRKylo346ifxQ6skm05ylgPLiqQ5hPEzcHrL7GXPRFIc4qaw5NNPTStE4wg6QITtNSoOYoM0HSAdLE6uCgJfXFYj1Ju4vPq+vb6aHW4Orkufzmc8NxN1D4d1t/C9erw0+3tl/XKWIRRn16tDky/Jlj09WrI70s6aPPEkXwl23yUrR61iECaURBvb69tFnbRgDSrqDk9mdW9aZ1iBEkXmKClRs1ZpFfTAdIh/8l3XcdhVcf/06qO0qfVoZBbfiE/Czd0D41FGF1tfmkYI8lM9GrI75ts1LeVbNNR9nrUIgJpRkF0WNhFA9Lcoua7uFR1b1qnGEH/W24tOGqxF5ig6QBJTa7YvVo+vZDnsqHzqsd4smIDq+rTBLZQfj5ab3q8h6bereFrLWX3CiRHPWp1ntQw+SB6KmFW10kNs4ia9+JS1eft+elE0P+WW8uNWvQFJmhqQPp8tj6QwyL/XfFJHl/KIdUjNvV1kzIVYda1ubcpmejV6LmHZK9HrU5AmkUQHRZ2dQHSnKLmvrhU9dW0TiuC/rfcWnTU4i4wQVMC0sUr/hCwGA317IhG/2/vDJsbtbk2vN/aGXbb8XbSNhO36U7etHk2s003O7E3k8T//2e9BgRIQoA4NuYIX/fzdBOBjo90Y+uKsAC31HqJLv0S+j6uDgk34/hA6mhHKTGQFmNiT0S3pEBammtdmcI6xtCanoPDu/p11q51veSgEgJSsdZjdfV//8qPjvcSXfqnPDkbakRnM4Iv+cEaFd53bu6o1dGOUgetsluEiT0R3Tpkld2SXOvKFNax1oul5eDwrn6dtWtdLzmodIB09cP7q38sHwRHx3+J/oThbV3NCMYctuy7r5lCIC3IxJ6IbsmAtDzXIhpi6fChNUUHh3f166xdi9gdVjpA6lrr4R+d0rryY+idUI1YcuK+ZmDbqCUnv1tXJ/7aubmjVsdrljraKjs3UUIm9kR061ir7Nzc6bnWFRXWFOvF3DZodHB4V7/O2rWI3WGlA6S6e+v+o2MWmVzl16f//sOVHeO/hKv39U0v/gr9TWlCuprxV+glm7HgV/vmt95mrzjQjlJCIC3IRPcVIyUD0oJci3pz+Tp8aE3RQTd0vM7TNdEbzFI6QHpvOP3PwJKT91Wt/+V/JZjrk98HX8LVr/WlYz+Fbp1uQvzXqOr+FHzjVn+9/OPu9Ta7xYF2lBICaUkmui2PkwxIC3It6s3l6/ChNUkH3SaO1nm6JnqDWUoHSL8WVyDnt9MvP2pdR6eo9uf78gZev//w/s/iIubgS7j63/vy7lB//RS8qPn93t//tV/jqszwU3hZ5a/1MwB+79nsFgfa4R23cUBakoluy+MkA9KCXIt6c/k6fGhN0kG3iaN1nq6J3mCW0gHSv2bl4fs/PxTXh3Udnd/LauaExS9l6ffgS3iqHy0VPOf+i1n16L/GT2W540FeZq+5z1Rdx93c9YC+nmWT0lV2SzIxUBqScC0FXhMAAByASURBVJXdglyLeXP5OsJ6sSQddJo4WmfqmuQNZikhIP3764fyjrPlycmuo5Oz2X44+L7001/hl2gpf/ju+186Hiz1i5kb+69x9WEf80/XG3dtP0e6qbN2Hy+9bj/CvLMdhcTXIS3JxHZpSNLrkJbk2vCby9cxrqhJ0kG7iaN1tq6Nf4NZSgJIqKWD3u3nK2yTCNckwjWJAFKa4t0uErZJhGsS4ZpEAClN8W4XCdskwjWJcE2i8wXSD57G7BW95FGl5N2emok6bMO1Q5WCg7gmEUDSfHS6peTdnpqJOmzDtUOVgoO4JtH5Ailt6Xu3JyFskwjXJMI1iQBSmuLdLhK2SYRrEuGaRAApTfFuFwnbJMI1iXBNIoCUpni3i4RtEuGaRLgmEUBKU7zbRcI2iXBNIlyTSBOQ0AjhmkjYJhGuSYRrEtU8mB9I0TU3o19bZ8T4kDrgx9YvU2ZTFXFIPwS2naBLp/DgkAhck0TodE37RxQgzRgBkACSLAVDK64pjgBIaUYAJIAkS8HQimuKIxYCpA2K1o+4JhG2SYRrEuGaRJqAFF1T558FzJDUu6b0r1b+1pdE4JraiIXMkKJr6jwKAEm9a0oHCYZWSQSuqY0ASGlGACSAJEvB0IpriiMAUpoRAAkgyVIwtOKa4giAlGYEQAJIshQMrbimOAIgpRkBkACSLAVDK64pjgBIaUYAJIAkS8HQimuKIwBSmhEACSDJUjC04priCICUZgRAAkiyFAytuKY4AiClGQGQAJIsBUMrrimOAEhpRgAkgCRLwdCKa4ojZgLS/WWWXdw8V8WHdZZl6wdR0W3KkHQeBYCk3jWlgwRDqyQC19RGzAKk7SorZahyaYqXgqLXlOjWJx4BkACSLAVDK64pjpgFSKvs+mm3e77Psqe8eJet7p/3xVV2M7roNyW69YlHACSAJEvB0IpriiPmANJddl3+8iVb5z+ybFsUn7LV6KLflOjWJx4BkACSLAVDK64pjpgDSBdZ9eVRlu3/eajnOtfZ15HFVlOGpPMoACT1rikdJBhaJRG4pjZillN2tQog3VRfJe1pczey2GrKkHQeBYCk3jWlgwRDqyQC19RGzAqk+2K6sy6/Sdrlp+HWI4utpgxJ51EASOpdUzpIMLRKInBNbcSMQPp6na3yc3errN6Ufy80qthqypB0HgWApN41pYMEQ6skAtfURswGpGLl9nP5m7VxZLHVlCHpPAoASb1rSgcJhlZJBK6pjZgLSE+X6/za2HzF3IFA+jHXBkWrebfP3ZKkhG0S4ZpEuCbRwd8hPZfn7JghMUM6UQQzJFHI4v7WxzW1EbMuathd56saABJAOlEEQBKFLG5oxTW1EfMCaZtd5Jcl1eV8ncKoYqspQ9J5FACSeteUDhIMrZIIXFMbMS+QilkOy74B0okiAJIoZHFDK66pjVAApDvrWtebkcVWU4ak8ygAJPWuKR0kGFolEbimNmIOIK3qWwd9zWc5DVmK2zCMKraaEt36xCMAEkCSpWBoxTXFEXMA6aa6uerusoBKdb/UbblMYVTRb0p06xOPAEgASZaCoRXXFEfMAaTnVXadU+XrZUmmm/qJEneji35TolufeARAAkiyFAytuKY4YpbvkOoH9JnTbzygb3QEQAJIshQMrbimOGIWIJWPMF9dVwvmdl/cp5KPKrpNGZLOowCQ1LumdJBgaJVE4JraiJmAdGRx3EYEACRRgM5BgqFVEoFraiMAUpoRAAkgyVIwtOKa4giAlGYEQAJIshQMrbimOAIgpRkBkACSLAVDK64pjgBIaUYAJIAkS8HQimuKIwBSmhEACSDJUjC04priCICUZgRAAkiyFAytuKY4AiClGQGQAJIsBUMrrimOAEhpRgAkgCRLwdCKa4ojAFKaEQAJIMlSMLTimuKIhQBpg6L1I65JhG0S4ZpEuCaRJiBF19T5ZwEzJPWuKf2rlb/1JRG4pjZiITOk6Jo6jwJAUu+a0kGCoVUSgWtqIwBSmhEACSDJUjC04priCICUZgRAAkiyFAytuKY4AiClGQGQAJIsBUMrrimOAEhpRgAkgCRLwdCKa4ojAFKaEQAJIMlSMLTimuIIgJRmBEACSLIUDK24pjgCIKUZAZAAkiwFQyuuKY4ASGlGACSAJEvB0IpriiMAUpoRAAkgyVIwtOKa4oh5gPR8c5FlFzfPVflhnWXZ+kFUdJsyJJ1HASCpd03pIMHQKonANbURswDpISu1MlS5NOVLQdFrSnTrE48ASABJloKhFdcUR8wBpKcsu9nudtt1tirmSHfZ6v5593y/ym5GF/2mRLc+8QiABJBkKRhacU1xxBxAus6+VL8UUMmybVF8ylaji35TolufeARAAkiyFAytuKY4Yg4grTLzy7aAykM917nOvo4stpoyJJ1HASCpd03pIMHQKonANbURs3yHVCvL0XSTVQsUHrK7kcVWU4ak8ygAJPWuKR0kGFolEbimNkIBkNbZkyk+ZeuRxVZThqTzKAAk9a4pHSQYWiURuKY2YlYgfc2ud9YZvD2gViOLraYMSedRAEjqXVM6SDC0SiJwTW3ErEBaF+ffMosx2chiqylD0nkUAJJ615QOEgytkghcUxsxJ5C+lifdDgTSj7k2KFrNu33uliQlbJMI1yTCNYkOBdJ2VV6GxAyJGdKJIpghiUIW97c+rqmNmHGGdGGuKAJIAOlEEQBJFLK4oRXX1EbMB6TLagH3hbtOYVSx1ZQh6TwKAEm9a0oHCYZWSQSuqY2YDUg1j1j2DZBOFQGQRCGLG1pxTW3ETEDaNjza3VnXut6MLLaaMiSdRwEgqXdN6SDB0CqJwDW1EfMAabtqeGSRpbgNw6hiqylD0nkUAJJ615QOEgytkghcUxsxC5AestWTVazul7otlymMKvpNGZLOowCQ1LumdJBgaJVE4JraiDmAtF2ttnb5pn6ixN3oot+U6NYnHgGQAJIsBUMrrimOmANI11mjYgMP6BsdAZAAkiwFQyuuKY6YA0iZD6TdF/ep5KOKblOiW594BEACSLIUDK24pjhilu+Qji6O24gAgCQK0DlIMLRKInBNbQRASjMCIAEkWQqGVlxTHAGQ0owASABJloKhVZNrr6+v+X+vboRO17R/RAHSjBEACSDJUgAkLa69liTaE8mP0Oma9o8oQJoxAiABJFkKgKTDtdfX1iblrmn/iAKkGSMAEkCSpQBIJ3HttYkoT8rVMjOjNo+0u6b9IwqQZowASABJlgIgTe/aqyeLPq9mahTgkXbXtH9EAdKMEQAJIMlSAKTju2aw05RlSZS7pv0jCpBmjABIAEmWAiAdx7UCQMV/FYqqRQr+mrnxOXS6pv0jqglIcz/OPSX9iGsSYZtEy3WtPh/nb97/d+hrL9e1XG+5JnhdTUCKrqnzzwJmSOpdU/pXKzMkScQRXHsNfw10UBLlrkVFvAUj9lvfahUbzK+meEizVM6QomtqOW6HRgAkgCRLMVWrXozciKW6NgAjWRLlrkVEGMZU2Nlt6mKBpHb1Ck0OsoStAkgzRgAkgCRLMUGrKhLVPNI+tB7sWgSPkgRSPw56ctjYKV7C/rdfb3W4SdICk5lLtQPfnFYBpBkjABJAkqUYCHnxyy/Nf/udJXZ2BjzFjqoQzLEs1yoOxfAoQSANzVC6chgShV5tdKvKJG9Oe97s3225rQJIJ4m4NWpt2dnbRuQ4CyA9lrK37P9XhDx2xXixj26OZQ2tYZWsebEIU22wfux2BkvV1r4cS3Lttb7CdaIk87pWfbsTmIv05ZDOqSJCQpOingCAdIKIGjoNksqfm9tG1TYncNew7NbJcQ5AMjixoPTYUrWtCbIxZrafA5BeXsp5UQOXBkovsiQLAJKHnU2zIY5Hqbn29lYP9xUIItYbDEyC5jn1A5COH3G78+dFJZNq+GycuhZ7Cj5ZwdVLnAOQKrjYU6McMI/Vrk1TrdjeYMmfULVypDu0DoVUyxFe3I0NoBIbWg8NeC1v9mNNh6yriyZs1UyutU+4VSsQ/IVwgTnVwDk5gDSkRIBUMKZd79YwyQtxTueZWt05lgukx8CZunqzLMkZACl4zm1nT5NSGVqPEtA6KWfYNH2r5nHtbddefP1m/ledwDNf6Wysb27iviECSENKBkhhNV8cHeG4LRBIYTWMAkgBIPXUPTsgdYHn9aRv6BO6Vn1x5Kg9ZzLUqlfORa5XAEhDSgNIfasVAFJXROiUW71PmGT5QOrjkThJmkDqmwctEUjd6xcCVwztq26a0mStAkgKI2JWzwGkNpAmSAKQRElSBFL/abmlAKlZMr15Cy5aK2sdlOOQCICkMAIgiSIAkiAkgkdKh9YDIgIBQ18SLQRIb81Kur5pzlkC6S6rf31YZ1m2fhAV3aYMCSABJFmOZIbWcSEAKdfwooVlAMkGjc6hcD4gPWQ1kC6zUpeCoteUIek8Cm5E1PWuAMmPiOARQKpC6guOpkmSFJCiltABpIUDac+jCkh32er+efd8v8puRhf9pkS3Xl9EcwnsJEmWDqQYHgGkMqS69VzU/Ejn0HpQhBMQt6I7dSC9tRZq6xwK5wLSfdYAKcu2xc+nbDW66DdlSDqPQh5RreiOvCEQQCoirDsxTJJkoUDaVVe+TpREAZAGVyi8Vs/XO2Wr4iKO4Jpzs4XgOm2dQ+E8QHq6zLLLCkgP9VznOvs6sthqSkDlTXTq1gdvtNOjEx236lY/sY2bGkj5+N4M8ptd5BSklW3iCHOnhdjGTQ0kd4DftLbEpztCwMuLew+G+k7c49o0/dDauklP9O15vGzWS/aeh9vsqgtgoy94VQik6sFCoWzV5avN1a0AqUf72dHdrgLSTVYtUHjYbx1XbDXFl7mdTn0ruM3t7S54I4NOHfcohGdBm2p79ARpYiA9mhvr1Hc4eNxFD/qy5vVGmFv8eC2oKfkYOT+aGkj2TUjL4OCtsKdpn9WMXetWQNV0KP9vM5ZHEw+t1e15Xg2FNqNAEW5fefefnoAqQcJAMs9ksB7CYDHnzZ0a9d6UdHz7JoyYCUjr7a4G0jp7MpufsvXIYqspjqo7jxazj10Bps3o+2Qf8SjcujJkvG2AdIwkgwFD7/bm1qPlLbLzsX5TbpmweR0RjzWNHs09gJrTdJuRszZJs+KBZN8puwJSSajTtM9uSTunaZb16IgpWxX7ZqvuF1fywTBkU26p6wwjw2+foU135CYeRF05Jo0Yeq+5T7wrvh7a1Hf7MTXMrq4l3ADJ1nP+TwWkVbP8O/9eaFSx1RQjc0s3b1tzy9FTA6n1CAnTyNvytnWbcWcRRc2KeLc/uufpym3m7qSBXUdtXjAieGe6R4OpfcRYHk0DJAtBzaYSRc4u6SWofXGtgL7vhV4CLY3RJENr6Psb+yxafW/tWCDZd+MemP5sTnpnuvERPUAKPPbOPHHVeShr9QzWado3YcQ8QCpUASnLnE2jinkzcm1sVeTZbLzNbp3WtqkUaIvbjp79E6h5tzubqzte+9Uf811NnfKHLPOosH2SYP3Hsh2Pm0Bbp1TYtnzOkf/j134p9jWV7OIovQRevK+yJMeE6niz7alTTIS82vYGs3tfL/zKr63K5f/tFzGvsKn/badRqQ7XqpsshEL2W/Pt1b78RqhN6TykBEjFcWu/euhe2TsLp+UpvIgzZaH5Tv+Exo3ouHH3UI4hTXTKrj3ncJ5T97izTpmNbN5AmBsRs1DhpK712taedLjPEaq/v4lP17xQ71q4jZ1+8quKxkf0udYxTdk0+92Td63oajZVn4ErvjpqVdqZqVfzxdEp3jlTuTZw97l6dV37Ht5d2aLFDOkAIHXI7m74yXbhCLveEGLcHDHfDukB0nC2uDVtZYBTbyDO6VDUyUE9QBrOViKpo16zveSL88DWXe9puM2uWUUReS5OzdAakc08jCgg+2l51hk4H0gNh0p6lWRKGUhDsda3S/23QAVInmYHUq7u5zzYETZWzEqEHs5s6uUUk11UNCOQcnXiwl0nbq1+K6dHfcvhNu5yivGNmiTkWEAq1P3goTqi+vLJ7DCPcu2e+2zqNd3R3w0lM7QahedI1qIHZ0meX/c19FXSooEU8dw8N2J8jgkjFADpwl2nMKrYasqQIoFk8WZj5kO39arsW69GK0fDrKnWcOsEkrUCYVMhyJzkG16gval2TXdRkU4gmfVvZcRLeDmcmSkFgl/Gna8LtGrSiGNcGFutCre3OIw54KhOGDKza4lGKADSdMu+A4oDUn2VahFRPQvcA0zncr1NxarotdzLAFL1ZPBinXiNF2+9eGglX1Ox59UHGzVJyImAtDNA2VSzo2qJXlOrBJT3pHHBkrkEh9byxF2DJf8yJYCkFS9JAunOutb1ZmSx1ZQhtbobXAZeAyW/RujW2uzUa87LeZujW9PZqglCjgkkQ5TWCvH6l3wNnFVyQ6vzck74iCXlXY2aIuS4QHpp/m02WrtfWpMie2c1H7Juv/ByHkNr9VVQfd3Sge07D9eSjFAApIYsxW0YRhVbTRlSu7sNUm6dbeUv7qKE1oVN1ldKzSVOqRy3g+5l10x0Hu1N5jcHNo8+kOqvlB7rC40etbt2nEGivhCo+ebHvp+CHRGa/Hizo5eXMxlau9fadUWMTnH8kNldSzJCAZDq+6Vuyy2jin5ThhQAUrUAvOSLz6BBg5yzeOWcKro1sTmOEXJ0IFXTnOCEZ1Tziljlrh1pkHipz7sF18YxtIaz9V/Iimta8ZImkG7qJ0rcjS76TYluvaUGQKF1CMs9bgcByb6sKLBUYXGuHRNITSEiYnSK44csbmjFNbURGoA09wP6bjsLXRHjcxw7QgGQxgaMT3H0iPmBNHCxEEMrQNppdU37R/R4QNp9cZ9KPqroNmVIOo9CikA6coB215QOEgytkghcUxsxI5COKI7biACAJArQOUgwtEoicE1tBEBKMwIgASRZCoZWXFMcAZDSjABIAEmWgqEV1xRHAKQ0IwASQJKlYGjFNcURACnNCIAEkGQpGFpxTXEEQEozAiABJFkKhlZcUxwBkNKMAEgASZaCoRXXFEcsBEhohHBNJGyTCNckwjWJah7MDqR4jZgVqM5xmiSnzIZrSlPgmuIkJ82WjG0A6eQ5lvd2xzWlKXBNcZKTZkvGNoB08hzLe7vjmtIUuKY4yUmzJWMbQDp5juW93XFNaQpcU5zkpNmSsS0hICGEEFqyABJCCCEVAkgIIYRUCCAhhBBSIYCEEEJIheYE0vPNRZZd3DxX5QfnebL+3lx32a6lh/ZTaK1qx8+RWZIkCeWM6EijE9iGaxFdalXDtYgutarhWkSX2tUWaFuhGYH0YDq/Mk29NOXL4F6zrfUqbpRfbYIc1mFbCZKEckZ05KS24Rqu4Zpm15ZoW6n5gPSUZTfb3W67zlYFVO+y1f3z7vl+ld0E9ubKu+y/ihvlV5ssR1n16/gkoZwRHTmpbbiGa7im2bUl2mY0H5Cusy/VL0VLs2xbFJ8KPvt797rPAv1wo/xqU+XItc3uBEkCOWM60ugEtuEark3aJVyTdGnhA5vRfEBaVW3aFi19qPtxnQPa27vvz37md9nqhxflV5smR6nLyt9RSVo54zrS6AS24RquTdglXJN0afEDm5GGVXZF626y6tzjQ0Voa29xhvNu1+pHKypc7bg5Ct1n/rnSyCThYnRHpulSRzZck2TDNUk2XBNlW5ptaoC0zp5M8Slbt/buf6y3ra4HosLVjpuj0OpC2JFwMbojI7MdZhuuSbLhmiQbromyLc02BUD6ml3vrCnfvrWr1t7drvimrNWPVlS42nFz5LoJ/B0RlyRcjO3I2GwH2YZrjnCtPxuuSbIxsDlSAKR1YYHVRKe1a9ugVj/CUe3uHj1HFvg7YkSSVjG2I6JsUttwzRGuRWTDNUk2BrZK8wPpq5nJhVv71ZkdSo/b0XPcV2tKhEn84vi3+wlswzVXuBaRDdck2RjYKs0OpO1q5U/irF+rve09rQ093T1+jou2oaOSeMXxx+0EtuGaF41rEdlwTZKNga3S7EC6MMvUw62t9rb3tDb0dPfoObzzpOOTeMXxx+0EtuGaF41rEdlwTZKNga3S3EC6rM44WmhuvjK7dM9H1v0wN6PoiPK7e/wcgW/+RiWpi+M6MmWXWtlwDdcm6lIrG64xsBnNDKSmP6FFhb6lbU/DSxE73u3Hy7Fq+TkqSVMc1ZFJu+RnwzVcm6pLfjZcY2CrNCuQtlZ/7qwLqG5ae41a/WhH+dWmyLG1bxQ4OkkgZ0xHpu2SVw3XcG2yLnnVcI2BrdGcQNqurA40zTXTRmevUasfrSi/2iQ5vrhXKo9LEsoZ0RFhttguudVwLa5LbjVci+uSWw3X4rrkVVugbYVmffzE6skqVjfh25aN9fZWddpbnCi/2jQ5vDOto5IEcw53RJgtuktONVyL7JJTDdciu+RUw7XILrnVFmhbqfmAtF2tnAUZN/Vtyu8Ce0u1++FG+dUmytGcFx2dJJxzsCPCbPFdsqvhWmyX7Gq4FtsluxquxXbJqbZA24zmfPxEo2KD8yCn1t5CgX4EHv/UVJsoxyqz19qPShLOOdiRk9qGa7iGa5pdW6JtRvMBKWv14Ev/83R34X58aT8gt642UQ63yqgk4ZyDHRFmi++SXQ3XYrtkV8O12C7Z1XAttktOtQXaZjT3dUgIIYRQIYCEEEJIhQASQgghFQJICCGEVAggIYQQUiGAhBBCSIUAEkIIIRUCSAghhFQIICGEEFIhgIQQQkiFABJCCCEVAkgIIYRUCCAhNLHe1co+/vG9p+L3307WJoQ0CiAhNLHeOfqjs96nd3wc0XmLTwBCE8sF0rufe+qdslkIqROfAIQmVgOab58/7gtdJ+YAEjp38QlAaGI5oLnal/6NqIfQGYpPAEITywXNnkgfYuohdH7iE4DQxPJAk71796387fPVz/t9H67+M7UKmV2/7X/9+Pm0DUVoZgEkhCaWB6T9FOlT/vPbz/U6h6udC6Tv1a6fv83QXoTmEkBCaGJ5QPp3P/XJf2bWyrvPLpA+NFcuzdFghGYSQEJoYnlA+l5+ifRpT5vP+WWynz+YpeB1vd/yXWbPxxM3FqEZBZAQmlj+YoWyvIfNf2X5u6lQ1fu255G5ocOH+vsmhM5AAAmhiRUGUntDtf2P4hReoc99d3ZAaGkCSAhNrF4g/ffpY+YB6aO1n3N26JwEkBCaWJ1AKpd910sZqu32ageWNaBzEkBCaGJ5QPrPrGGwln27QPLufXfy9iI0l3i3IzSxPKh8NnezKydCHz5++gyQECrEux2hidW+MPbvXbns+9M3u4IFpBO3ECEd4p2P0MTyALMv5ou6u5d9f6z3IHReAkgITSwXSL+ZhXPN1k/tZd9XJ20gQkoEkBCaWA6Q/n5n5j/Vz3yRgwuk/97VFyJ97n56EkLLE0BCaGI1QPqW3wzITH8+vnv34d/9pj+KlQvfy3qfq13vPu23fOt5eBJCCxRAQmhieavmzJWun52N+WTp5+qyo+/WlUicvENnJICE0MRyefSp2nxVXfmaT5vMujszmWouUYJH6JwEkBCaWA2MPvz29/dm++f81NzHv4sHUhSXyn6q7vudP6Avqx/dh9C5CCAhhBBSIYCEEEJIhQASQgghFQJICCGEVAggIYQQUiGAhBBCSIUAEkIIIRUCSAghhFQIICGEEFIhgIQQQkiFABJCCCEVAkgIIYRUCCAhhBBSIYCEEEJIhQASQgghFfp/7PXWppWnmZUAAAAASUVORK5CYII=",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 420,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"equity_curves %>% \n",
" purrr::discard(is.null) %>% \n",
" reduce(left_join, by = \"Date\") %>% \n",
" pivot_longer(-Date, names_to = \"param\", values_to = \"equity\") %>%\n",
" ggplot(aes(x = Date, y = equity, colour = param)) +\n",
" geom_line() +\n",
" facet_wrap(~param) +\n",
" theme(legend.position = \"none\") +\n",
" labs(\n",
" title = \"After-costs equity curves for 500-day simulations\"\n",
" )"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Eyeballing equity curves is illustrative, but let's also quantify these results. For each 500-day simulation, we'll calculate:\n",
"- Sharpe ratio\n",
"- Total return\n",
"- Average daily turnover (as percentage of allocated cash)"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A data.frame: 20 × 5\n",
"\n",
"\tlambda | tau | sharpe | total_return | average_turnover |
\n",
"\t<chr> | <chr> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t0.3 | 0.003 | 1.5979996 | 187.91581 | 86.563401 |
\n",
"\t1 | 1 | 1.5843898 | 147.20999 | 26.719370 |
\n",
"\t0.1 | 0.3 | 1.5632515 | 243.76855 | 62.853329 |
\n",
"\t0.3 | 0.1 | 1.5582835 | 184.85528 | 74.244957 |
\n",
"\t0.1 | 0.1 | 1.5049803 | 215.82454 | 82.633311 |
\n",
"\t0.3 | 0.3 | 1.4733322 | 177.88543 | 57.872224 |
\n",
"\t3 | 1 | 1.4360708 | 68.91465 | 23.088435 |
\n",
"\t0.1 | 0.003 | 1.4106634 | 187.10321 | 98.365393 |
\n",
"\t0.3 | 1 | 1.3676426 | 157.92362 | 28.740003 |
\n",
"\t0.1 | 3 | 1.3467732 | 146.92856 | 13.373507 |
\n",
"\t0.3 | 3 | 1.3300004 | 127.71079 | 11.963360 |
\n",
"\t1 | 0.3 | 1.2548320 | 98.57962 | 48.687742 |
\n",
"\t1 | 0.003 | 1.1851221 | 87.42170 | 71.599827 |
\n",
"\t1 | 0.1 | 1.1803581 | 87.72210 | 62.037604 |
\n",
"\t0.1 | 1 | 1.1530450 | 128.67032 | 30.273378 |
\n",
"\t1 | 3 | 1.1099375 | 81.99863 | 11.013410 |
\n",
"\t3 | 3 | 1.0846910 | 43.49599 | 8.641305 |
\n",
"\t3 | 0.3 | 1.0200999 | 45.43914 | 38.044012 |
\n",
"\t3 | 0.1 | 0.8968249 | 38.13561 | 46.235756 |
\n",
"\t3 | 0.003 | 0.8670867 | 36.31248 | 51.907027 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A data.frame: 20 × 5\n",
"\\begin{tabular}{lllll}\n",
" lambda & tau & sharpe & total\\_return & average\\_turnover\\\\\n",
" & & & & \\\\\n",
"\\hline\n",
"\t 0.3 & 0.003 & 1.5979996 & 187.91581 & 86.563401\\\\\n",
"\t 1 & 1 & 1.5843898 & 147.20999 & 26.719370\\\\\n",
"\t 0.1 & 0.3 & 1.5632515 & 243.76855 & 62.853329\\\\\n",
"\t 0.3 & 0.1 & 1.5582835 & 184.85528 & 74.244957\\\\\n",
"\t 0.1 & 0.1 & 1.5049803 & 215.82454 & 82.633311\\\\\n",
"\t 0.3 & 0.3 & 1.4733322 & 177.88543 & 57.872224\\\\\n",
"\t 3 & 1 & 1.4360708 & 68.91465 & 23.088435\\\\\n",
"\t 0.1 & 0.003 & 1.4106634 & 187.10321 & 98.365393\\\\\n",
"\t 0.3 & 1 & 1.3676426 & 157.92362 & 28.740003\\\\\n",
"\t 0.1 & 3 & 1.3467732 & 146.92856 & 13.373507\\\\\n",
"\t 0.3 & 3 & 1.3300004 & 127.71079 & 11.963360\\\\\n",
"\t 1 & 0.3 & 1.2548320 & 98.57962 & 48.687742\\\\\n",
"\t 1 & 0.003 & 1.1851221 & 87.42170 & 71.599827\\\\\n",
"\t 1 & 0.1 & 1.1803581 & 87.72210 & 62.037604\\\\\n",
"\t 0.1 & 1 & 1.1530450 & 128.67032 & 30.273378\\\\\n",
"\t 1 & 3 & 1.1099375 & 81.99863 & 11.013410\\\\\n",
"\t 3 & 3 & 1.0846910 & 43.49599 & 8.641305\\\\\n",
"\t 3 & 0.3 & 1.0200999 & 45.43914 & 38.044012\\\\\n",
"\t 3 & 0.1 & 0.8968249 & 38.13561 & 46.235756\\\\\n",
"\t 3 & 0.003 & 0.8670867 & 36.31248 & 51.907027\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A data.frame: 20 × 5\n",
"\n",
"| lambda <chr> | tau <chr> | sharpe <dbl> | total_return <dbl> | average_turnover <dbl> |\n",
"|---|---|---|---|---|\n",
"| 0.3 | 0.003 | 1.5979996 | 187.91581 | 86.563401 |\n",
"| 1 | 1 | 1.5843898 | 147.20999 | 26.719370 |\n",
"| 0.1 | 0.3 | 1.5632515 | 243.76855 | 62.853329 |\n",
"| 0.3 | 0.1 | 1.5582835 | 184.85528 | 74.244957 |\n",
"| 0.1 | 0.1 | 1.5049803 | 215.82454 | 82.633311 |\n",
"| 0.3 | 0.3 | 1.4733322 | 177.88543 | 57.872224 |\n",
"| 3 | 1 | 1.4360708 | 68.91465 | 23.088435 |\n",
"| 0.1 | 0.003 | 1.4106634 | 187.10321 | 98.365393 |\n",
"| 0.3 | 1 | 1.3676426 | 157.92362 | 28.740003 |\n",
"| 0.1 | 3 | 1.3467732 | 146.92856 | 13.373507 |\n",
"| 0.3 | 3 | 1.3300004 | 127.71079 | 11.963360 |\n",
"| 1 | 0.3 | 1.2548320 | 98.57962 | 48.687742 |\n",
"| 1 | 0.003 | 1.1851221 | 87.42170 | 71.599827 |\n",
"| 1 | 0.1 | 1.1803581 | 87.72210 | 62.037604 |\n",
"| 0.1 | 1 | 1.1530450 | 128.67032 | 30.273378 |\n",
"| 1 | 3 | 1.1099375 | 81.99863 | 11.013410 |\n",
"| 3 | 3 | 1.0846910 | 43.49599 | 8.641305 |\n",
"| 3 | 0.3 | 1.0200999 | 45.43914 | 38.044012 |\n",
"| 3 | 0.1 | 0.8968249 | 38.13561 | 46.235756 |\n",
"| 3 | 0.003 | 0.8670867 | 36.31248 | 51.907027 |\n",
"\n"
],
"text/plain": [
" lambda tau sharpe total_return average_turnover\n",
"1 0.3 0.003 1.5979996 187.91581 86.563401 \n",
"2 1 1 1.5843898 147.20999 26.719370 \n",
"3 0.1 0.3 1.5632515 243.76855 62.853329 \n",
"4 0.3 0.1 1.5582835 184.85528 74.244957 \n",
"5 0.1 0.1 1.5049803 215.82454 82.633311 \n",
"6 0.3 0.3 1.4733322 177.88543 57.872224 \n",
"7 3 1 1.4360708 68.91465 23.088435 \n",
"8 0.1 0.003 1.4106634 187.10321 98.365393 \n",
"9 0.3 1 1.3676426 157.92362 28.740003 \n",
"10 0.1 3 1.3467732 146.92856 13.373507 \n",
"11 0.3 3 1.3300004 127.71079 11.963360 \n",
"12 1 0.3 1.2548320 98.57962 48.687742 \n",
"13 1 0.003 1.1851221 87.42170 71.599827 \n",
"14 1 0.1 1.1803581 87.72210 62.037604 \n",
"15 0.1 1 1.1530450 128.67032 30.273378 \n",
"16 1 3 1.1099375 81.99863 11.013410 \n",
"17 3 3 1.0846910 43.49599 8.641305 \n",
"18 3 0.3 1.0200999 45.43914 38.044012 \n",
"19 3 0.1 0.8968249 38.13561 46.235756 \n",
"20 3 0.003 0.8670867 36.31248 51.907027 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"initial_cash <- 10000\n",
"i <- 1\n",
"dfs <- list()\n",
"for (r in results_dfs) {\n",
" # get lambda and tau\n",
" these_params <- str_extract_all(params[i],\"[0-9]+\\\\.*[0-9]*\", simplify = TRUE)\n",
" this_lambda <- these_params[1, 1]\n",
" this_tau <- these_params[1, 2]\n",
"\n",
" # average daily turnover\n",
" average_turnover <- r %>%\n",
" filter(ticker != \"Cash\") %>% \n",
" group_by(Date) %>% \n",
" summarise(turnover = 100*sum(abs(TradeValue))/initial_cash, .groups = \"drop\") %>% \n",
" summarise(ave_turnover = mean(turnover)) %>% \n",
" pull(ave_turnover)\n",
"\n",
" # total return\n",
" equity <- equity_curves[[i]][, 2, drop = TRUE]\n",
"\n",
" fin_eq <- equity %>%\n",
" tail(1) \n",
"\n",
" init_eq <- equity%>%\n",
" head(1) \n",
"\n",
" total_return <- (fin_eq/init_eq - 1) * 100\n",
" days <- length(equity)\n",
" ann_return <- total_return * 365/days\n",
" \n",
" # sharpe\n",
" returns <- na.omit(equity/lag(equity) - 1)\n",
" sharpe <- sqrt(365)*mean(returns)/sd(returns)\n",
"\n",
" # store results\n",
" df <- data.frame(\n",
" lambda = this_lambda,\n",
" tau = this_tau,\n",
" sharpe = sharpe,\n",
" total_return = total_return,\n",
" average_turnover = average_turnover\n",
" )\n",
" dfs[[i]] <- df\n",
"\n",
" i <- i + 1\n",
"}\n",
"\n",
"metrics <- dfs %>% bind_rows()\n",
"metrics %>% arrange(desc(sharpe))"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"These metrics give you an idea of the tradeoffs:\n",
"- The parameters that resulted in our highest Sharpe turn over more than 85% of the portfolio daily. This would be hard to manage if you were trading by hand. \n",
"- You could achieve a slightly lower Sharpe but turn over much less, for example with lambda = 1, tau = 1. This would be operationally simpler. \n",
"\n",
"Bear in mind though that these results only represent the first 500-days of the simulation, and there's no guarantee that they would be reflective of the results over the entire history. But they're a good starting point for thinking about the tradeoffs. \n",
"\n",
"For now, let's pick lambda = 1 and tau = 1 and simulate over the full sample:"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"lambda <- 1\n",
"tau <- 1\n",
"costs <- 0.15/100\n",
" \n",
"weights <- list()\n",
"errors <- list()\n",
"w0 <- rep(0, length(universe_tickers))\n",
"for( i in c(1:length(exp_returns_sim_df$date)) ) {\n",
" # today's date\n",
" d = exp_returns_sim_df$date[i]\n",
"\n",
" # cov estimate\n",
" today_covmat <- covmat_list[[i]]\n",
"\n",
" # check cov matrix and exp returns vector are ticker-aligned\n",
" # all.equal(exp_returns_sim_df %>% filter(date == d) %>% pivot_longer(-date, names_to = \"ticker\", values_to = \"expected_return\")%>% arrange(match(ticker, universe_tickers)) %>% pull(ticker), colnames(today_covmat))\n",
" \n",
" # get row of expected returns as a vector in the same order as the columns of the covariance matrix\n",
" # contains NA at this point\n",
" exp_rets <- exp_returns_sim_df %>% filter(date == d) %>% pivot_longer(-date, names_to = \"ticker\", values_to = \"expected_return\")%>% arrange(match(ticker, universe_tickers)) %>% pull(expected_return)\n",
" # get na indexes\n",
" # we'll explicitly constrain these to get zero weight\n",
" na_idxs <- which(is.na(exp_rets))\n",
" # convert NA to zero\n",
" exp_rets[is.na(exp_rets)] <- 0\n",
" # initialise w in case we get a solver error (can retain w0 in these cases)\n",
" w <- w0\n",
" tryCatch({\n",
" w <- mvo_with_costs(expected_returns = exp_rets, current_weights = w0, na_idxs = na_idxs, costs = costs, covmat = today_covmat, lambda = lambda, tau = tau)\n",
" }, error = function(e) {\n",
" # in case of solver error, log and retain existing weights\n",
" errors[[i]] <- e\n",
" }\n",
" )\n",
" \n",
" # w is a one-column matrix\n",
" weights[[i]] <- w\n",
" w0 <- w \n",
"}\n",
"\n",
"results <- list(weights = weights, lambda = lambda, tau = tau, errors = errors)\n",
"\n",
"saveRDS(results, file = \"lambda_1_tau_1.rds\")"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 3\n",
"\n",
"\tweight | date | ticker |
\n",
"\t<dbl> | <date> | <chr> |
\n",
"\n",
"\n",
"\t0 | 2021-02-18 | BTCUSDT |
\n",
"\t0 | 2021-02-18 | ETHUSDT |
\n",
"\t0 | 2021-02-18 | BCHUSDT |
\n",
"\t0 | 2021-02-18 | XRPUSDT |
\n",
"\t0 | 2021-02-18 | EOSUSDT |
\n",
"\t0 | 2021-02-18 | LTCUSDT |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 3\n",
"\\begin{tabular}{lll}\n",
" weight & date & ticker\\\\\n",
" & & \\\\\n",
"\\hline\n",
"\t 0 & 2021-02-18 & BTCUSDT\\\\\n",
"\t 0 & 2021-02-18 & ETHUSDT\\\\\n",
"\t 0 & 2021-02-18 & BCHUSDT\\\\\n",
"\t 0 & 2021-02-18 & XRPUSDT\\\\\n",
"\t 0 & 2021-02-18 & EOSUSDT\\\\\n",
"\t 0 & 2021-02-18 & LTCUSDT\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 3\n",
"\n",
"| weight <dbl> | date <date> | ticker <chr> |\n",
"|---|---|---|\n",
"| 0 | 2021-02-18 | BTCUSDT |\n",
"| 0 | 2021-02-18 | ETHUSDT |\n",
"| 0 | 2021-02-18 | BCHUSDT |\n",
"| 0 | 2021-02-18 | XRPUSDT |\n",
"| 0 | 2021-02-18 | EOSUSDT |\n",
"| 0 | 2021-02-18 | LTCUSDT |\n",
"\n"
],
"text/plain": [
" weight date ticker \n",
"1 0 2021-02-18 BTCUSDT\n",
"2 0 2021-02-18 ETHUSDT\n",
"3 0 2021-02-18 BCHUSDT\n",
"4 0 2021-02-18 XRPUSDT\n",
"5 0 2021-02-18 EOSUSDT\n",
"6 0 2021-02-18 LTCUSDT"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# wrangle weights into a dataframe\n",
"weights_df <- purrr::map2(\n",
" weights, \n",
" exp_returns_sim_df$date, \n",
" ~weights_mat_to_df(.x, .y, lambda = lambda, tau = tau, tickers = universe_tickers)\n",
") %>% \n",
" bind_rows() %>% \n",
" rename(\"weight\" = lambda_1_tau_1)\n",
"\n",
"head(weights_df)"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 7\n",
"\n",
"\tweight | date | ticker | expected_return | close | total_fwd_return_simple | funding_rate |
\n",
"\t<dbl> | <date> | <chr> | <dbl> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t0 | 2021-02-18 | BTCUSDT | NA | 51663.6400 | 0.041106415 | -0.00412394 |
\n",
"\t0 | 2021-02-18 | ETHUSDT | NA | 1910.9900 | 0.007813203 | -0.00516012 |
\n",
"\t0 | 2021-02-18 | BCHUSDT | NA | 702.5500 | 0.015704896 | -0.00711178 |
\n",
"\t0 | 2021-02-18 | XRPUSDT | NA | 0.5302 | 0.030592698 | -0.00688510 |
\n",
"\t0 | 2021-02-18 | EOSUSDT | NA | 4.8000 | 0.077784750 | -0.00550166 |
\n",
"\t0 | 2021-02-18 | LTCUSDT | NA | 225.8000 | 0.020896880 | -0.00616800 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 7\n",
"\\begin{tabular}{lllllll}\n",
" weight & date & ticker & expected\\_return & close & total\\_fwd\\_return\\_simple & funding\\_rate\\\\\n",
" & & & & & & \\\\\n",
"\\hline\n",
"\t 0 & 2021-02-18 & BTCUSDT & NA & 51663.6400 & 0.041106415 & -0.00412394\\\\\n",
"\t 0 & 2021-02-18 & ETHUSDT & NA & 1910.9900 & 0.007813203 & -0.00516012\\\\\n",
"\t 0 & 2021-02-18 & BCHUSDT & NA & 702.5500 & 0.015704896 & -0.00711178\\\\\n",
"\t 0 & 2021-02-18 & XRPUSDT & NA & 0.5302 & 0.030592698 & -0.00688510\\\\\n",
"\t 0 & 2021-02-18 & EOSUSDT & NA & 4.8000 & 0.077784750 & -0.00550166\\\\\n",
"\t 0 & 2021-02-18 & LTCUSDT & NA & 225.8000 & 0.020896880 & -0.00616800\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 7\n",
"\n",
"| weight <dbl> | date <date> | ticker <chr> | expected_return <dbl> | close <dbl> | total_fwd_return_simple <dbl> | funding_rate <dbl> |\n",
"|---|---|---|---|---|---|---|\n",
"| 0 | 2021-02-18 | BTCUSDT | NA | 51663.6400 | 0.041106415 | -0.00412394 |\n",
"| 0 | 2021-02-18 | ETHUSDT | NA | 1910.9900 | 0.007813203 | -0.00516012 |\n",
"| 0 | 2021-02-18 | BCHUSDT | NA | 702.5500 | 0.015704896 | -0.00711178 |\n",
"| 0 | 2021-02-18 | XRPUSDT | NA | 0.5302 | 0.030592698 | -0.00688510 |\n",
"| 0 | 2021-02-18 | EOSUSDT | NA | 4.8000 | 0.077784750 | -0.00550166 |\n",
"| 0 | 2021-02-18 | LTCUSDT | NA | 225.8000 | 0.020896880 | -0.00616800 |\n",
"\n"
],
"text/plain": [
" weight date ticker expected_return close total_fwd_return_simple\n",
"1 0 2021-02-18 BTCUSDT NA 51663.6400 0.041106415 \n",
"2 0 2021-02-18 ETHUSDT NA 1910.9900 0.007813203 \n",
"3 0 2021-02-18 BCHUSDT NA 702.5500 0.015704896 \n",
"4 0 2021-02-18 XRPUSDT NA 0.5302 0.030592698 \n",
"5 0 2021-02-18 EOSUSDT NA 4.8000 0.077784750 \n",
"6 0 2021-02-18 LTCUSDT NA 225.8000 0.020896880 \n",
" funding_rate\n",
"1 -0.00412394 \n",
"2 -0.00516012 \n",
"3 -0.00711178 \n",
"4 -0.00688510 \n",
"5 -0.00550166 \n",
"6 -0.00616800 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# join weights onto prices\n",
"backtest_df <- weights_df %>% \n",
" left_join(strategy_df, by = c(\"ticker\", \"date\"))\n",
"\n",
"head(backtest_df)"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# simulate\n",
"\n",
"# get weights as a wide matrix \n",
"backtest_weights <- backtest_df %>%\n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, weight)) %>% # pivot wider guarantees prices and theo_weight are date aligned\n",
" select(date, starts_with(\"weight\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
"# NA weights should be zero\n",
"backtest_weights[is.na(backtest_weights)] <- 0\n",
"\n",
"# get prices as a wide matrix\n",
"backtest_prices <- backtest_df %>% \n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, weight)) %>% # pivot wider guarantees prices and theo_weight are date aligned\n",
" select(date, starts_with(\"close_\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
"# get funding as a wide matrix\n",
"backtest_funding <- backtest_df %>%\n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, funding_rate)) %>% # pivot wider guarantees prices and funding_returns_simple are date aligned\n",
" select(date, starts_with(\"funding_rate_\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
"# simulation\n",
"results_df <- fixed_commission_backtest_with_funding(\n",
" prices = backtest_prices,\n",
" target_weights = backtest_weights,\n",
" funding_rates = backtest_funding,\n",
" trade_buffer = 0.,\n",
" initial_cash = 10000,\n",
" margin = 0.05,\n",
" commission_pct = 0.0015,\n",
" capitalise_profits = FALSE\n",
") %>%\n",
"mutate(ticker = str_remove(ticker, \"close_\")) %>%\n",
"# remove coins we don't trade from results\n",
"drop_na(Value)\n",
"\n",
"margin <- results_df %>%\n",
" group_by(Date) %>%\n",
" summarise(Margin = sum(Margin, na.rm = TRUE))\n",
"\n",
"cash_balance <- results_df %>%\n",
" filter(ticker == \"Cash\") %>%\n",
" select(Date, Value) %>%\n",
" rename(\"Cash\" = Value)\n",
"\n",
"equity <- cash_balance %>%\n",
" left_join(margin, by = \"Date\") %>% \n",
" mutate(Equity = Cash + Margin) %>% \n",
" select(Date, Equity) "
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Here are some plots showing the after-cost performance:"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABpAAAAWgCAMAAABub/DDAAAAZlBMVEUAAAAAv8QzMzNNTU1oaGh8fHyDg4OMjIyVlZWampqjo6Onp6evr6+ysrK5ubm9vb3BwcHHx8fJycnQ0NDR0dHY2NjZ2dne3t7h4eHk5OTp6enq6urr6+vv7+/w8PD19fX4dm3/////7PQQAAAACXBIWXMAABJ0AAASdAHeZh94AAAgAElEQVR4nOydiWKcOhJFxeAlju04jvMcx3Gc5v9/cppd+wISFNX3vJm4ASFUSOiwIxoAAACAAGLvAgAAAAAtEBIAAAASQEgAAABIACEBAAAgAYQEAACABBASAAAAEkBIAAAASAAhAQAAIAGEBAAAgAQQEgAAABJASAAAAEgAIQEAACABhAQAAIAEEBIAAAASQEgAAABIACEBAAAgAYQEAACABBASAAAAEkBIAAAASEBRSK+Pt7UQ4vruRRp5HrGmrNGzr1yOk7f7qzaml3BKkMTb3bmx3D67JueuzwtsH5aQQ2th7VqKmT99GVdlqo7AwvhAb6W9thvmyP00urSQnuosy3FmPwT0WiDvQzGu51zcDyv22jGdnJDsK2BZ+8i9Mu1IIcduJSSF9Bw3Q56VGrkwoEFupY0dzMDV+zC+rJBepv2ZMkJ6HeP5zJ/3kXjJvd84NxeHkYgJybECFrWP7CvTwRRy/FZCUUjvdcwMmVZq3MKAAbWV9ig06mETLSukeXIZId22PebZrRfuo+xrt+3I67fmrd387WftiAnJMfui9lHoYN69nPithKCQOkWEZ8izUiMXBgyIrbS3TkL33YmL9+fu5N1tloyjhVSGNv/3cDL25F7Pd+f82ssuL85DpGMIaVH72LzPO7KQekVsJKTYhQEDYiutPQNTvyuD4i1HxgSEVDL/o1BMD86MjyOkrYuSzoGF9NorYhshRS8MGBBbaVfDHu/ItZBvbFgBhEQCCAlCSltSnmW0R9LXWwkpfmHAgNhK06vRfSpmZcZpk0sv/mLIvR7aHZj2/O47g1N2WxclncMKqXuKJG6G9Ss1YWHAgNhKM6rR3AXuf3y2j21cP3ZjuidRrp+seYwD8sjXx/Ya8vyck5jR5n65Oy+llp6HGhd+rY5W0edS8g8ltpRvWOz7XR+xNHCtHFB+nofct6wG15ujOHHzvUasKfd6jq9cjfacbnsE3e6U+m5q0B9WUlaoPYBupFETUrn7CwXjFEdTUQYcDcEYbVmssQgzL3sJ5iDfu1zr22f9zgl1r6+WCte3L0vh+3/f77slWm5V921uTfQ2bH3E7Pm2XeZbcBlacR61GnGlC9WEvd0uWRiwQWyl3QY6lvHHy9Bs2utNd9JvJaU8MI98k55z6m8qt2xqHe9Xaroxm+lOQOs+uTmX2XdMzIW5fjdGqTl0e17iThl4VgrRDrnPbwbXmz3iuPmup/ne5NnUNeVazymVq6+/dtpb5yXfbd/jzeH1izx2XKH2AOw1MRdV8ZGrqagBKitALaI02rpYo6noeblKMAV5N8+g670dN1rqdQ6q28MR1sJ3/061a953NIfoXonBbdiotWa+PHNu6IFlKMXpalVf75Z04ZpQMrHmGLswYIPYSusaqdVIUwW3P17mdtJMXYmwPbQ3Dkwj51m7WT4bZ0eppJQOpqQnpSydoGUurZk7Eg/3t1vK1+dwO+YoD7T/TltguybcD1YG15s94pj53mtzPsuaUtaDsjamgYiFqbQr4rbb83fcpKaVQyrd7TzCFoC9Jqaidj3j2FW6mooWoLIC1CLOo+2LNZqKlperBFOQ13ICbbflbp6ns8Dd8PtZzHtAZu1Ja9Uw0hSieyUGt2Gz1pTs7gPLkHk2a8SKulKdm6IZ5pKFARvUVlq3AdX3Zr86VXCXQNx/Dk+3n9vy02fz2f22NIVxYPz72fYj7QF/897N8qjlru0BX58L8tpuLkN/17fNu/dhrDDOEFjncjXP925jfh3eTnHrLl+/3b6dw9QGxlNW3azC2W1HrTdH2cPzNWOZ37tOwremLOtZGYhYmGUVtildT/D0k6/GqOTSjSvUHoC/pXSd1biKnE3FHqCjlI1vsZamohzMOxvrEGTrlvrlcwxRvXO1DWaUkPwAzSAqS+GH2j0v8O3Wth2MKT0rMbgNm7U2rIW3cax3Gb6V7CFUE/ZqXbgwYEBupd0OPczV/bOyz6tsFcMGcK/9NrZTU0iPQt0BvNZyn3/dzilvlbzHre9aykopvjGXq3m2KQad1EMvYS9ft9ixy5UHugdDpeSeOxKD681R9vB89/M6eVGLbKwpy3pWBsIL0+n3YFzXmIYch1q+U+txcpg1AG9LUXzkbir2AB2lbHyLtTQVOS93Yx2CvBaThR7NdjLn9CrX2zDaUvgu1dOctb4dRGxuwW3YrDV5LfRG8izDxLHuXYncm2JMjlELAwb0VtrzfPrk6n7ek1O2iqF9dlcQ7qXfakp5YPx7JXdEtu5x/NXujE3HG22RpstNY8/YbrtXWuHtczmap5z4aYjEXj4pTm1Auk/ef8YuvN4cZQ/O9ymtk65PedNmk9aUbY3rgXoXpjG8+NB1vq7R1KPU47QO7QH4Wkp39WS66uduKvYAHaXsf9kXa2sq0kzuEtzrOVmPpO+mpnPfnQvr++HxwMlSeL12dQlEbG7BbdisNbnkn3VgGSa+aZZE7k0xJseohQEDiivtRbr+ql4kH3/I1zdebQmmvMYBa/uwdY/jr3aznw7+H8cBeeGfljztczkWLye2nm+zxqwOPE69QeCMXXi9OcoenO9ZGtn1KZ41ZVvjrkCtC1Ppdq/bnknfMVDDntTTRvWkL8cRgJGLlJ8Qch/sbir2AB2l9I22NpV5pnBjVQI2eJlW0nllfo7ZjgeOjtqz33jmicc+u3MbNmtNCfM+sAwT37RQInsFenKMWhgwILrS3p5uxwMlvUtvfxiW0hM0+lizfbw9Sg+vmb9u9V7qdpyq3n+mYp/L0Txvhe81FHL5jMVOA11f3+3HBc7Yhdebo+xR8ymL8awp2xrXp3sXptD1Sc/d9ZNumU+WtSmsUSmlswcwY7SUFumYwN1U7AGahbSOlhdrbSrzTOHG2u3jWS7Nzll1jnttZ70ebDG+H9RRe77tIGJzC27DZkDKWngNLMMa5DIh6ZtiTI5RCwMGhFfa+1N/nli7mOjqp/xNRh75/nw/6c4ppDbBdMBu2SnVB3rsczma55WjzZrl8yz2dlxDgTN24fXmKHtwPvlzIXOZ7UW2rXH79AghtXvO7cm616GVtB2XcQFBhOvRHkCLo6XMrdKz4sIBaqWch8zFWpvKPFO4BMPNH66H51pfDZcwn9t/2jN17Wq9cxTe0yCNUd7NzbMNmwEpa+EzsAwT3zRHoqRNMX1hwID2SnvrlKRewY1qzI0+dh75Pt42Yd9CzBmcYwMbonMD9szvKJ9nsS/D1ho6Y5e43hLXt4q7yI41Er8wie6KQ7eb3t0E9WI/RoysRzMAT0vpsFze9C/CGYg2OtgAzJkiSvAy9avXxpOxfStqFXvVrtHXfr7pVo/o2rMVLbC5JbVF+1jHMkx806yJEjfF9IUBA+orbbqvxtoiwo3ZaMvTwwXXj++2LcTf+OM3RHuunsQD1vL5Flv3/UbojB0/IbUd5nCc0u7g1+/WY8TIejQD8LQU0e6qX6UuwhmIOjrcAMyZIkpwPvqZjwTNhtIH9N6HVXct6spYeKj2LEULbW45hGRfholvmi1R8qaYvDBgQGulmbU43T9kbRHhxqy35e7mnPruWbtv1vyV0su4AnD1GO75HeXzLXa4VzZ0xq6skPyLKyOktsMcr2O00auWsM8ZW4+Nt6W8dHsBj/b5/Ytw9FPz6IgGYM4UUYKWt8lJxpnNu25lPvZR3bXn6totT7tXP1R7ZhGCm1sGITmWYeKbZkmUvikmLwwY0Fpp47syJYzGmNaY9dnnu9Ia+xYy/trgGpLto5L28vkWO5y5EoEzduH1tvQaknR3u2NxZYQkjxtftWBeIVHmbKO6MsbaA/C2lO6y1Zs0f7ZrSPbFWr8/Os8UUYJx4nN/C6v+4FZ7NPDcbn+vw0B3HlR7mjlUe2bRgptbzDY81ZpyI3ZoGSa+aZZE6Zti8sKAAa2VZj4AOV26jO+zlI5Kn/1K6ki8p+yUG5dehffWqRn7XI7mqdw0NPQi9vJ5F9vOct9qyf+djuB6c5Q9ar6ACAJdmj1Q12/ruP6BTsszkUJod2bdGfPaA/C3lDsxH46Fm0rg3Js82r5YW1ORZoporDOfctnlEtw1wwztRtedANUKZ689n5CCm5tnGzZrzbiZ0LcME980S6LwpuhbWtTCgAGtldadtVX6hkdj64pqzMobwOSp8hwv84D5y3jmwfNwyYx9LkfznJ6vaOaNzl4+72Lbq0fiSQTO2IXXm6PswfnkJ9rti3N1aUYtJQlJfdV5d2OD5W0OQo/q2cgvHIClpdTzTO6m4g/QujD7Ym1NRUoabqzKIZZjbdZvY0jngdc5Pkft+bKL3tw827BZa8p10sfAMkx80yyJ3JuiWa0LFwYMiK207hy3dDphuH+qSRGSfN7vVm+18hxXtsY3/kp5/H4m+U0N456q8RCiUj7vYruDSBE6Yxdeb543NQTnm055vZm9ZWOtPGstJQnpScg7+v2ZKOvV+inV/NCWkl84AEtL6Q7JXqf5zRUXDlArpRnpvFhbU5GShhur9Hak+RBLpu3sH8dXyT31b2XVXxNrL2WskKybm0dIZq11JyPl9zf4lmHim2ZJZM/XXq0LFwYMiK20t75rfewOld+er+aGGd9ndR9s7Md1PlNabbtbPQjvXtga3/Qr4QVlEgvfZTf1KPby+Rc7vNgi8GXd4HrzvMsuPN94smw6z2Ev8jzWWktJQuouOo9BjzfoWm/7lt9/dm/JzxpAqKXcialbt664cIBaKecyWhZraSpyXsHGKr/0cHr3kEzX2Y87/8NTS3rhbNuLPabozc0jJLPW5M+MzNk5lmHim2ZJZM/XXq0LFwYMqK20J6Gjvzw52Ji7A+nr9pXAt8LYjeryb5vZy/C+4D73q77Rv+s7/tMLlC2HC9Y2Z53L1Ty7xO0Lsbv39z27y+df7HB76qs7RdR6c5Q9Yr7u5T3n3enPl+mlCY4iz+vZWktJQuqz6F7S/djfECWEeRmpXzfdG6LbhVtvMrEG4Ggp85zzSTvrirMHOK8Ao5SNb7GWpiLnFW6s3Sc65td9mzdxdDOORyXdnuB4GtNS+NB2MI4KrkSfkIxa6/dBujCHHRDPMkz0clob1RyjPV97tYYXBuIgt9KehYrx2b1gY5Y//TJd+ZymSl++uZ/emzx9IEzOJvIjNxrWbwq5mqecWHqXs1G+wGK7eaSTMNalhdeb+3tIKfMZ70+XB+b1bK2lNCFNX3Drl/veHyZpV4PaUfNejvUjjvYAHC1lnlM6aWddcdYApRWgl9K7WFtTkfMKNtbP2pJCptvwxus293IiS+GVrH3xhFaiR0hmrSkfrpquIbnWmIFeTku5lZVqz9dareGFgTjorTT18WjlHdfqD/fvMYf6dRo7TZ2adP3cNb4nZaySzfzBSN9nQHUsc7mb5/QBzKkrsJYvsNhHZU0tF5K17DHzzZ8rNXerlYF5PVtrKVFI0usHptcn6eeiujlHc9nr0R6Ao6VIc0on7ayVbgtQXgF6KX2L9TUVVwnU5cwfxW0LZNJdqhknKC+KsxTeXruWeIIr0S0ks9YaqaLuQ8sw0ctpKbeyUh352qo1vDAQB8WV9vl8N3zJXvoom9pW9ZHa79e7c1u6fpLGSlO7V+Tdtu9PkV5+9nk/fPhMaUgvbT5X0vu/QhuifS5f83xp35V1fS+9zcVSvsBi3+W+xLW0mPVmK3vsfN36e7S/cXMemNZzY6ulVCGd9+vbPOrb8W04945XB721yW4d9WgPoLG3FHlO6U47W6XbAlRWgF5Kz2K7RehNRc3L31jb4tx3zw87XmfXXAu1xu6k33rhQ9tBYHMLVrO91oa10J6dfQtv0gZ6Oe2NSl6p9nxt1RpcGIgDK40B5nvssDEAEASbCTlQIwww3mP3GboHHACAzYQeEBID+heRSby6PvgNABjBZkIPCOn4KJ/g7rj3fB0UANCBzYQeENLBeW8+2yuvyq2uL87rugCAAWwmBIGQDo7oUB++uceZCABCYDMhCIR0cDofYU8PAMAACOng3Apx5XoSEAAAjgSEBAAAgAQQEgAAABJASAAAAEgAIQEAACABhAQAAIAEEBIAAAASQEgAAABIACEBAAAgASUh/Q8AAMClYEqAlJCGvx+7lmI7ECcvECcvEGdpICRSIE5eIE5eIM7SQEikQJy8QJy8QJylgZBIgTh5gTh5gThLAyGRAnHyAnHyAnGWBkIiBeLkBeLkBeIsDYRECsTJC8TJC8RZGgiJFIiTF4iTF4izNBASKRAnLxAnLxBnaSAkUiBOXiBOXiDO0kBIpECcvECcvECcpYGQSIE4eYE4eYE4SwMhkQJx8gJx8gJxlgZCIgXi5AXi5AXiLA2ERArEyQvEyQvEWRoIiRSIkxeIkxeIszQQEikQJy8QJy8QZ2kgJFIgTl4gTl4gztJASKRAnLxAnLxAnKWBkEiBOHmBOHmBOEsDIZECcfICcfICcZYGQiIF4uQF4uTFZcQpICQXEBJPECcvECcnICQn//sAAACwGeL8325QF9Lw9zL2TBAnNxAnLy4iTtEIHCE5gJB4gjh5gTgZIfZ0AIRECsTJC8TJi4uIE0JyAyHxBHHyAnHyQTQQkhMIiSeIkxeIkw9t//+xmwQgJFIgTl4gTl5cQpwQkgcIiSeIkxeIkw8QkgcIiSeIkxeIkw1d9w8hOYCQeII4eYE4uSCWCymLOCAkUiBOXiBOXrCPc+j8P5ZYAELiB+LkBeLkBfs4VwgpjzcgJFIgTl4gTl5wj3Ps+xcISUBIDEGcvECcvOAepyyk0TBxPshlDQiJFIiTF4iTF8zjnLr+j+4Vq8PIGDFlkwaERArEyQvEyQvmccpCaiAkCxASTxAnLxAnB+ae/0MaHg+VfBeJ8jkDQiIF4uQF4uQF7zitQhLTXwgJQuIK4uQF4mSA1PHPQhIQkgyExBPEyQvESYblt187hTR+kcKdM4TEFMTJC8TJiwPEmVFI3VHRYCX/V5IgJKYgTl4gTl4cIM6cQhpN1ASElFEZEBIpECcvECcv6MfpvdQTmnXCiFPoKZQhCIkriJMXiJMX9OMsJKQhhXz4JS0JQuIK4uQF4uQF9TiF/96D0MwTzjg1ISW9XSgKCIkUiJMXiJMX1OMUYrmQ5NkihNRfVBKNdty0FgiJFIiTF4iTF9TjFNM/C+cdcMepnKYT820PuYCQSIE4eYE4eUE9zu2ENIspry8gJFIgTl4gTl5Qj3MrIak3N+QEQiIF4uQF4uQF8ThtN2cnztwTEFJBRUBIpECcvECcvCAe5xohCQgpAgiJJ4iTF4iTBKuEJA944vS/Q2g1EBIpECcvECcviMcJIZUGQuIJ4uQF4iTBCiGpM/mFVNIQEBIpECcvECcviMc5vTghvQ+HkKKAkHiCOHmBOCkwPSO04NmgaCHlfTGDAYRECsTJC8TJC9JxSs+qQkiFgJB4gjh5gTgJIL3VJ/nOAy2xV0g4ZUe8IWQEcfICcfKCdJy6kLwdufAO7hcnhEQKxMkLxMkLqnEaj6uKwIGMUH2lJ4WQHEBIPEGcvECc+2L4xxSS0AcgpAVASDxBnLxAnPsi9K9AjB9Gao+EOkz/QEgLgJB4gjh5gTj3xRTS8M94Yk70ZtKmqsklICQHEBJPECcvEOeuCPu9b/I42UHmCx0gpEggJJ4gTl4gzl1x3VRnjFNUpNlKBkJyACHxBHHyAnHuivOxI2OkfG4PQkoHQuIJ4uQF4tyVlOdg56OmeS4IKRYIiSeIkxeIc1eSXswgC0k4XuoAITmAkHiCOHmBOHdl8ReQhudjIaRYICSeIE5eIM49Wdhji+nuPAgpFgiJJ4iTF4hzP5a/7HS6gAQhxQIh8QRx8gJx7ob+SOyiHHQgJAcQEk8QJy8Q504YbwValIcxCkJyACHxBHHyAnHuRPKHj1yZqEBIDiAkniBOXiDOnYCQtgVC4gni5AXi3IlCnTWE5ABC4gni5AXi3AkIaVsgJJ4gTl4gzp2AkLYFQuIJ4uQF4twJCGlbICSeIE5eIM6dgJC2BULiCeLkBeLcCQhpWyAkniBOXiDOnYCQtgVC4gni5AXi3IdSfTWE5ABC4gni5AXi3AcIaWMgJJ4gTl4gzn2AkDYGQuIJ4uQF4twHCGljICSeIE5eIM59gJA2BkLiCeLkBeLcBwhpYyAkniBOXiDOfYCQNgZC4gni5AXi3AcIaWMgJJ4gTl4gzn2AkDYGQuIJ4uQF4twHCGljICSeIE5eIM59gJA2BkLiCeLkBeIsRKAzhpBC/Pxa11++/xsHfz3Udf3wa9GgXDw0eF4gTl4gzkII4e2PISQ/f2/qnsEqX4fBrwsGleKhwfMCcfICcRZCtEryTC0EFyHd1N/+NM2/n3X9px38Ud/8/HcevKm/Jw+qxUOD5wXi5AXiLITw9scQkp8f9bf+x3/1Q/unrv92g3/qm+RBtXho8LxAnLxAnGUQDYS0Isov9XjxqK7P//yajnW+1b8TB7XiocHzAnHyAnGWQaj/WCeXgImQZjohfR8vJZ1t8yNxUCseGjwvECcvEGcRxOQi+70NEFIkP7vDnYf+SlLTnoZ7SBzUiocGzwvEyQvEWQQIqWV1lL+/1TftububehrVXhdKGtSKhwbPC8TJC8RZBDH9a725odwTo5yE1N25/a//JY1MHDyXrOMDAAAuETH/EdOQOZ0V2YX05+tD+2zs39VC6sAREk8QJy8QZwnE9Nd+tx2OkCL515+zg5CSQZy8QJy8gJBKU+guu2/tXQ0QUjKIkxeIkxd7CsnsmCGkaP7WX9rHkqbh9j6FpEGteGjwvECcvECcJZh6YgEhraU9ysFt38kgTl4gTl6QElLBzzLwFNIP6VnX74mDWvHQ4HmBOHmBOEsg/IMQUoib6dVBv9ujnNks3WsYkga14qHB8wJx8gJxFiBwRAQhBfk+vly1+dpJZXxf6t/+NoWkQbV4aPC8QJy8QJwFCAmp4KKZCOnfTf2ttcrvr72Zvk9flPiRPKgWDw2eF4iTF4izAP6bGIp+2JuJkOYP9A2n3/CBvkQQJy8QJy92FpKQJkBIUbSfML/5Nt4w1/ynfpU8aVAuHho8LxAnLxBnAZxPworAZ5LWw0dImYGQeII4eYE4C2DpiIdjI/93ZDMAITmAkHiCOHmBOAvgFtL5GAlC2gUIiSeIkxeIswAOIW3RP0NIDiAkniBOXiDOAkBIPRDSfiBOXiBOXuwtJMeXY7MDITmAkHiCOHmBOPNj7YdLXzwagJAcQEg8QZy8QJz52bMfhpAcQEg8QZy8QJz5gZAGIKT9QJy8QJy8gJBKAyGRAnHyAnHyAkIqDYRECsTJC8TJCwipNBASKRAnLxAnLyCk0kBIpECcvECcvNgwzl27YQjJAYTEE8TJC8SZHQhpBELaD8TJC8TJi03iFNK/OwEhOYCQeII4eYE4MwIhqUBI+4E4eYE4ebGdkPbthSEkBxASTxAnLxBnPgSEpAIh7Qfi5AXi5AWEVBoIiRSIkxeIkxebCKn8F8qDQEgOICSeIE5eIM58iPYbExDSDIS0H4iTF4iTFxvEKcaTdnsCITmAkHiCOHmBOLOx//m6BkJyAiHxBHHyAnFmA0LS2X91zEBIPEGcvECc2SDR/UJIDiAkiqxvIceIcz2IkxcQUmkgJFIcI04IKRbEyQsIqTQQEimOEaelhSQ2mmPEuR7EyQsIqTQQEikOEaewNBEIyQri5AWEVBoIiRSHiNP2KDmEZAVx8gJCKg2ERIpDxDkISajj1L8BDhFnBhAnLyCk0kBIpDhCnIONhE1Isc+YHyHOHCBOXkBIpYGQSHGAOEVjOWknICQriJMXEFJpICRSHCDO/uX4diFFP2V+gDizgDh5UT5OGr0vhOQAQqLGYB6hXjYS02cuISQZxMkLCKk0EBIp6Mc5HQpZhCSP9UM/zjwgTl5ASKWBkEhBP85ZSPONDAJCcoA4eQEhlQZCIgX5OIX5u/+AyySjqOZDPs5MIE5eQEilgZBIQT5OU0jS/XUQkg7i5AWEVBoIiRTk43QLSbrTLgz5ODOBOHkBIZUGQiIF9TgtD8NCSB4QJy8gpNJASKQgHqft7QzCOeyBeJzZQJy8KB5n7JPlhYGQHEBIlNBbhv54rDWRdTLtOPOBOHlROE5he5H+HkBIDiAkOlh23tI/RCEgJI4gzhzQ6XkhJAcQEhns8oGQvCBOXkBIpYGQSEE4TluzSBaSwCk7liDOHNDpeSEkBxASFeytwm4pby7dZLpx5gVx8gJCKg2ERAq6ceYQkphe50A3zrwgTl4UjZNQxwshOYCQSOB8i7dTSNbkqpAotbNSEK3P7CDODBDaICAkBxDSbmifO0oTkjW99JzShyMJNwjVZ1EQZwYIbQ8QkgMIaTfmV6c2+vfKwzOGhRT96aRDQ6g+i4I4M0Boe4CQHEBIuyG9CShNHq45xKw48aF9qYJSm8sJofosCuLMAKGNAEJyACHtRv8aBjG4Zb2QxPxDCP06E6U2lxNC9VkUxJkBQhsBhOQAQtqLViliFlLinI3knXn0+GP+4Lk0iiV06rMsiDMDhLaBownp8/5KiOvHz/zl0YCQtkeo/ybLYjSYcB0DiTFOxVEsoVCfW4A4M0BoGziGkN7u6v7HSy066pdSxRqBkDZC8cV8gSeHkGTBjRhCorQ1ZgTtlhcQUmkShHQ3noJ5ExOljQQhbYJ8G133Wz7blvxGfKGYZsjcJySxZCmHAO2WFxBSaeKFdCvGXupaiOu383HS1fkYqfBZOwhpE4ThEHlicm7aoY/lMMsUEqXNMR9ot7yAkEoTLaSX9gxdp5/3yUO1EE/litYCIW2CfAhj3q6dnp38qxeSlsnHvNwGQjo+iHM9lDaAAwjpbjo/9yjEY//rLKnrQuUagJC2QLnKk3e7EGrmIx/TZGP5rEC75QWEVJpoIdXTTu61EO9j0tJn/iGk1UTUUEEtOBrIFKfztgceoN3yAkIqTayQhN+Bhw8AACAASURBVIcNiocGv5hoIY2PHm2xeEVIzpOF4Xzii1F838kK2i0vIKTSQEikyB9nRPXMQthsm9haSHtdpUK75QWEVJroU3aTeO6EeJ1H1kVKNQEhrSUsJGH5VZo5TvmOcOfOjVgrSwipLIhzPRBSS7SQboebGj4lCb0IcVuoXAMQ0iqinmvd91SW830OMhAScRDneiCklmghPfcvZni7nm/1fq+FeC5XtBYIaRXCfCTVTJN3kXGkCmntqxwgpLIgzvVASC3xD8ZejZeMhgOkz/YFQoXP2EFIq5juXvO19d2FJBcAQjomiHM9EFJLvJDerwcfDfd849VBBbg8IWkXuex31LgnxbHbfeVot7yAkEqT8nLVp7OSrh6nZHi5an42F9JOr5CThaRMKCmkHTZ5tFteQEilWf49JHFb+PpRC4S0AunxouGXUbV7bQTOOK3qgJCogzjXAyG14AN9pCgnJGG7U223qg4ISSsphEQdxLkaSt0uhOTifx9gKWL+IYRo/5XGaUnoIPp/hD5qTWGF9hcAcqBxdlAX0vAXe2DJSM+7iun4KOKCzSa44xwP5Mx7wZeXNupVEEVAu+UFjpBKAyGRopiQhgtI6pkwokLqyzW9tmG1ToTxYzPQbnkBIZUGQiLF6jhtna+YjzkinvnZBI+QjEMjRUhLCg0hFQdxroZStwshuYCQUtA//DqPnsaE34qwCZ44nUIyjBqLsPzaCLRbXkBIpYGQSLFWSEI9nlB+a0LatZrjhNSoL5PvLi8tKDaEVBzEuRZKvS6E5ARCSkG6s9v5+gMhrN8U35j4OGUhWW9dj8jC8msj0G55ASGVBkIixao4ReMQkpFObPjpIysJcSpC8r51IpgBhFQKxLkSSp1uAyE5gZASkM7JhQ6A9q7jRXGKZZeR9ryRA+2WFxBSaSAkUiyOc+6pV78ZewsgJF4gzuUsvVenJBCSAwgpEkVIlGrQztI4ISSaIM7lUNyDhJAcQEhxyK9h4CyklrTo1M+iQ0hlQJzLgZBk1gmp+z7SXcGPUEBIcSi3n1Fr3RbWXytblhZCKgPiXIyguAt5YCE93V+J+3zl0YCQ4lBu5KbWui1sJSQ9KYRUBsS5FLH/MxgWDiyk87/PEFIusgjpAOwlpK2NhHbLizJCorcLeVQhFQdCiuFQLupYJ6T4cC1C2nRdod3yooCQpn8oASE5gJBiuDAhxbdQMyGEVATEuRCiWy6E5ABCioDeNdEg+wlpW3mj3fICQioNhESKpQ+MHo3dhLTx0STaLS8gpNJASKSAkKKIjdiWDkIqAOJcCNFt9zBCunp8L1YUGxBSGKJt2ss2QrIn23J9od3yAkIqTaKQhBCbOglCCnHAC0jNeiGFT7y576aFkPKDOBdCdOM9kpA2dRKEFOIyhRQOGkLaEsS5DKrb7mGE9Pl8vamTIKQQFymkiC3Z/Y7ZLW+0Q7vlBYRUmvSbGjZ1EoQU4njPILVsISR3EggpN4hzGVQ33iMJqdnSSRBSiAsV0hy3fQV41wqElBvEuQyqG+/BhNQoTvrMXSYJCCkE1SbtJ5OQuo+aQ0j7gziXQXXrPZ6QzrzUvZLE7WvWIslASAGotugAGYQ0Xz2bjpWUyd55twLtlhcQUmmWCun1ftRRS7HXfUNIAai26AA56nM+NuqOk+RDpdCdHputNbRbXmSOk+zWezAhTTa6fv58787dPRYoWguEFIBsk/aTV0j9QP/V3P77m4Era2KrO+3QbnkBIZUmXUjvko36Mc9C1PlL1gEh+TnmLQ2ZhGR+DXa4sBSedau+AO2WFxBSaRKF9P54pdmom6NYvwghSez+qtB8ZKnP5bEPN0SMeZRbiWi3vICQSrPoTQ2KjZrm8zwmc7FGIKQZi3yO+VRss7uQxgyGPalyWke75QWEVJp0IWk2KguENGN0m4fVEZ36FJ47x3NAJc7SIM4l0N18DyOkTW3UQEgSZrd51PN1DaX67G+AKLUm6cRZltg4j9tie7LWJ+Ht9zBC2hoIacIQ0oEPkGjVp2im+/NyQyrOgkQL6bhNtiNnfVLefg8jJG2rrYtdPBqAkCYsQjou5OpzvsMhK+TiLET8EdKxlZSvPmmvh6MKqfjjHBDSBIRUkkJ325GLsxAJp+yO3GxzCilbTiU4qJBeIKTMBISkrG7aTdoPzfqEkJYCIaVCezUcQEh3wsrVNsXDhm0IiXaLDkC0PrOvU6JxZoeKkEpvFNnqk/jWewAhfdqF9LRN8bBhDy8imE4t0T4HHYJofUJIC4mIc265TaH+eIMXQkFIpYk/Zfdk0dF1YR9BSDOzkErep7wRROsTQlpImpDK3F9WTHQSEFJp1t3UUBwIaUKMJhr/OTJE6xNCWkiMkMbdKFHoSAZCygeE5ABCmhDaTuahoVqfuVcr1ThzE45TyA24SPst/FrCjmCcscsnvv0eRkhbAyGNKPt/x76A1NCtTwhpGTFCatQvViUSnEEsyzeNsJBiCkB/fxJCcgAhjagnJCjV0RLI1mfmFUs2zsyE4pwvfk4j1Mkhwh39ciElzJNJSOR3KA8gpOFt/QbbFA8bNoS0DXnXLN048xIUkpj/7UfIP6JsE0qzWEhj2WJmDYs3pgQQkhsIiRSxQjo6dOsTQlpCIM7xcQW7kOJsI91bak29TkiRN66qcZpzBLNJWNaeQEiB4mHDpt6E0yBcn1lXNOE4sxIUkvpXHiUihSQ9F25L7XNVKGsRvbuXS0jUOYCQ9gFCGqFUK+shXJ8Q0gLWCGm4O8613ucufNr9tX3BKl1I8xwi+tW6mpBs75cMCOkAh0cNhOQEQhqhVCvroVyfOdc05Thz4o9TGD9kR8ULSTaTrpAFQprOFsaf7VsvpAPcYtdASE4gpBFKtbIe0vWZcVUvi/N4dR0pJHOcJBnPzMYVp+HFjlbBxSK0LJKFNJ3scxTWutBj1C6E5ABCGqFUK+uhXZ/51jWE5LqlTD+icV3HUS8xSQ5Rb5OwHYQFEOOtEnNJg/M4hKSUIiSkI3AYIeGmhrJASBTId1YFQvIc+GgGmg59tHTqgZB2mkxMiQLLcxRMyStdSGMQQqhjAkslD4TkAEIaOUhLjoR4fWZr1oviPMRVBpUF7da8k2C4j1efXzszFymk4Cp0HIwFZjI/ADPdldFECOkoFQshOaAlpPLNSY9zwZmIQ0CjPp2IXM8upsQ5nZy6VCFZby4wD5qEOY/lO2ElhCTEh3nZSl6e8GUTvL5EiMMISeL9qa5f8hbGBELabNGbQqM+PWSSQuxnGZpGeiDnIBe+ZZxxugNxPvxj3CYgvELSby0QtlRRJVsmJHlgFJI1JwgphjU3NbzX4jFnWSxASJstelNo1KeXzYXUSLeOHa26lwrJNtkUkjdLXUj+w5RAwULXf2QhGeWcD5bk42thSUGeYwqp/WbfW8ayWLhwIc2b1VFaciQ06tNPjlUeLyQxXhu3nbcizwIhNS5rLBGSMT3kdceUBCHpx22NVpVGMvNYjy4HFdKnEHcZy2IBQtps0ZtCoz79bCUk+aL4UY+IFwop4jAlvCKMXKYnXp2HSW4x+ErkFZIuRvnAd5yB/ktVRw4qpPKvrYWQNlv0ptCoTz9bCsl4S9vB6ju3kFLMbKQYT5kJ4ViEJ09Hicbjnw/3BqkfqYlp1HhPuP3SEkkOKqRPCCkzLiEdpSHHQqM+/Wx3ys722tBj1fjSU3b20XLPvXY92CTgy9M6bbre9eG+RGU+QTUfommHv/Q5qJCehLjKWBYLly2keafrQG05Chr16WcbIUm70NmXvh1ZhaRMW70e3C9i9S7XyKOb8DEeLdksZ6tFCCmRFUJ6fzzvytxnLY3BQYRknMVeugQIiQ5R6zyQKE5I1ly2qPJsy1gmJC8ZW77tjXOBxRrjRFBIoROBR9qGDyMk47nYz2Il6ziKkIRvMIE5TqE04yM15hho1KefqCsNgaqOFFLi4rNR/o0UKxaQsRfXnsFdIqSej/GaX+Sc8rQjbcOHFVLpJ2OJCcm1aoxbQJdevoSQ6AAhxVNCSDl78SVCsv36WLhxQ0ixrBHS1X3hp5AuWEhTFvEfDzsSNOrTT1hI4XqmLSTHrv4CqAupEfI2GhaSS2D9TQ3pHs+3prfhMELamsMKaaGRLEI6XGOOgUZ9BvC4YnzuMlQ3pYSU59DmsoQ05eVfs+O/1jvPIaTSQEgJeD4iJtTBpYdIspCkDYJSlWSBRn0G8AtJCLGDkOb+MphzmIsTkvQMsm+hjfoQqyqkYA7O5R8ICMkBhGTmzgEa9RnAJyTRNFmE5J7bOkW6jThDm8jX4xcRUs7jirGqgmdZRyE187IhpA2BkBJIENLC1TjGqXQVB2vMMdCozwDCNSjGCgr26OuFpH/SdOoqIaTUvIa//hNu0rYrGvlPx+J2e7Bt+DBCMr+HVPazSCyF5FlZViEdqy1HQaM+A6j9oe0UTnDPwx6nUP9xL14uw/jOOxExayTlhbQu9xJCCl4BmlcKhLQDEFICHiFZvhGWcHVgmvljSKAmOVRbjoJGfQbQ78wyT+EsEpLxiVHn4htL9zgXZHWryOW15lhCCuQpWVoYRYCQSpNZSP++f6nrL9//jel/PdR1/fBr0aBcPBodmEtI2mG+Zc/Kn8vc6j+GBBASAaSb6VzXFCyDCk4hifD1dVVI8h4+hFQQtaa1M3zL2+2RXhx0ICF176+7fWnfz/B2L8S1NvFX3XMzWOXrMPx1waBSPBodmFdI+h7tCiExNJAGjfoMMFyymXe37CZIFtKQa2he6eBI2UVxeDEd8kLapRfXhKSWAEIqTaqQ7qW3M7zpRvpT19//Ns3fh/qmO0b6Ud/8/Nf8+3lTf08eVItHowNzmSJRSHPjNI6qPpqd9gs3hkZ9huhr1Hj1tF47ntr6MJMI6f+xQrL2Z8sbiYgsQTylhLRu9sXLlI+QFCCk0iQK6UV5ner5aOlJnvqt/m/80Umlrv92g3/qm+RBtXg0OjC/kPqmLJRBS1oxnQNSzr30Pz+c8/GCRn2mY+3DheN34xTS9CNOSL7CLEH+TjppIe2BvD9oWARCKk2ikK6V16l+ap+fuKmHH387qfyajnW+1b8TB7Xi0ejA8glp+CH1Cb2dPg65DadDoz7TsUpCEZJ6NDM9t2KecYsRUsQdykuQn6CCkDSUExT5hHSsVXEYIWn30zlvr6tbNX2vxxsUftU/Ege14tHowAJCGrsQv5CMIWl/TEBItIkTknbXpP0SUPjUbHCnWqi5RTPcrWE/AbkIsz4zZr4tpYR0KA4qpPMRUm1P1wnpof4zDP6pHxIHteLRaAgxQpKvgXuSSoPqGZ8DbsILoFGfC7BaRDkhp9ytMJ+CNRtFUEhRhfE1NvdsUksrIyT5rOCxEGp1qhy23SZyGCFdK1eNHoW4syb7XX9rpDN4Z0HdJA5qxSPREJxb2NwpjGftxtFap2MeUWoJPo51qnkxJOpzCdZn7nxC0o2RU0jSDRcp7+AV47xagVbAVUg6h223iRxGSE/n7XH65sTLeeDVmuyhO/9WS46pEwe14pFoCMMW5umQ1Ht5hdp/WfsMXUjZCksbXnGqp3jkI6IPTUCyzvIIaV5c9OPpGwhpPHY7oJC8ZebVbt0cRkhNfW72952FXu/OP2+tiX73J93WCel/HR+EEP3/hXVC/0PIg6JPLYZ5hDmjcyw4EsL9S8iptKo2RixaspiWI5SFeWeylzAfYigNGjdII1VI77X8fgb9wdievzf9Y0g8j5B8p2y0Wz7ms/XuvWF1FhJxbgCvOK0Xwc13aplHxzkOIOz3J7iPloq8BsRyhHTUU3ZeeLVbN8c5Qmreb2cfPdqTfBmeKOIoJNuJEak/0rZ1Mf11n0+BkA6PVUgd3jjzCUm+TjVcxnTuAukNsZiQcpyTpAavduvmQEJqmrfH1kn17fOnffrX8QbuL+p9CkmDWvFINATXSXfPXTn+0eY0EnFuAK84dxWSnI0YLyu5LykZC4WQEuDVbt0cSkgBJh+xu+1bu19KH22ZlAyJODeAV5yEhKQcGtmy9+1OLcchJG4+YtZu3fAR0t/ZR80P6VnX74mDWvFINIQIIa2FRJwbwCxO5x1r/jjz99dCKgyElB9m7dYJGyH9vZl9JJmlew1D0qBWPBINAULKBrM4yQhJzXVnIR3s/W0xMGu3To4qJP089a/65o80OL4v9W9/m0LSoFo8Eg1BFZJ3P3QpJOLcAGZxOj9RtIeQvAuIGbMAu5D4wazdOjmAkKzXSLWRf29u/srD36cvSvxIHlSLR6IhQEjZYBbndIO/zs5xmvd/biMkrj7auz4341BCkl8+oArpWz3TjeD1gT5JSPL7MiGkdJjFqbWImb3jlJ47UEaYSdYBIfGCiZBqXUjNf+pXyZMG5eKRaAiykBrPJr4CEnFuALM4+xZhaQm7xzkfzTuO4SCkFHavz41gIqT80BWS+7GkNZCIcwOYxem4gkQgTu3DRxDSOnavz42AkBwQFZK035l3DZCIcwMQ50aI6YWu0j6UliIDEBIvICQHJIXUzPdU2U/ULIdEnBuAOLdCvq/B2lYhpAT2r89tgJAckBZS43tp6jJIxLkBiHMrhHPAMy4ZCIkXEJID2kLKv+GRiHMDECcZsuxTQUi8gJAcEBVSsUWQiHMDECcZIKQEDlCfWYCQHEBIPEGcZICQEjhAfWYBQnIAIfEEcZIBQkrgAPWZBQjJAU0hlYNEnBuAOMkAISVwgPrMAoTkAELiCeKkQ+DRhaiPSEBIvDiGkKxsUzwSDQFCygbipIP1JXzz1Khn7SAkXkBIgeKRaAgQUjYQJx18QpLe8uBFjZOtjw5RnzmAkALFI9EQIKRsIE46COfHM+JfaA8h8eIAQtoHCIkniJMOsULyNX8IiRcQkgMIiSeIkw5CWN+8qowKnQyBkHgBITmAkHiCOOkwCEkTzqipYWj6xw6ExAsIyQGExBPESQfRHwtptzaoIyCkniPUZw4gJAcQEk8QJx1ihDSMcgIh8QJCcgAh8QRx0mG4s1vxT3/CzndVSeVDSUWpB8nLEeozBxCSAwiJJ4iTDvLHVMT4y7yoFCmk3J+spMUR6jMHEJIDCIkniJMO0pWi+cuT6oRprEs2EBIvICQHEBJPECcd5DN1yt0LRnu3XFcakIVEqgPJzBHqMwcQkgMIiSeIkw7CGHA1dOG0jSIkxhyhPnMAITmAkHiCOOkg9CHPm+0gpMsAQnIAIfEEcdIhQUhG6hEIiRcQkgMIiSeIkw4QUjxHqM8cQEgOICSeIE6yBD7IFxASpc6jAAesz0VASA4gJJ4gTrJASB4OWJ+LgJAcQEg8QZxkCT1GZJ0MIfECQnIAIfEEcZIFQvJwwPpcBITkAELiCeKkC4Tk5oj1uQQIyQGExBPESRcIyc0R63MJEJIDCIkniPOwQEgXAITkAELiCeI8LBDSBQAhOYCQeII4j4ttM/jwTOMEx/q0ASE5gJB4gjiPC4TEHwjJAYTEE8R5XDxCotR1FIFjfdqAkBxQEtIW64VCnFuAOI8LhMQfCMkBhMQTxHlcICT+QEgOICSeIM4DY9kQPlwTmMGyPi1ASA4gJJ4gzgNj+cL5RxN8KysLWNanBQjJAYTEE8R5YM7m6b4dK731DkLiBYTkAELiCeI8MmKwjyKkS/AR0/o0gZAcQEg8QZxHpzs8mg6SPmh1G8XgW58qEJIDCIkniPPw9N8zn4REqdcoB+P6VICQHEBIPEGcXOi3CgiJFxCSAwiJJ4iTC4OQKHUaBeFfnz0QkgMIiSeIkwsQEkcgJAcQEk8QJxu6zQJC4gWE5ABC4gniZIOY/rkALqA+OyAkBxASTxAnGyAkhkBIDiAkniBOPojhoaRL4BLqswVCcgAh8QRx8kFcxksaOi6hPlsgJAcQEk8QJx9aHV1CnC2IszQQUjQQUj4QJyPEhcTZIM7yQEjRQEj5QJyMgJDYASE5gJB4gjh5gTh5ASE5gJB4gjh5gTh5ASE5gJB4gjh5gTh5ASE5gJB4gjh5gTh5ASE5ICEkofwpCho8LxAnLxBnaSCkMBBSdhAnLxAnLyAkBxSEJCCk7CBOXiBOXkBIDkgIaVgjEFI+ECcvECcvICQHEBJPECcvECcvICQHBIQk+jWyzQsk0eB5gTh5gThLAyGF6G0EIWUFcfICcfICQnKwv5CG74+JbT75ggbPC8TJC8RZGggpAIRUAsTJC8TJCwjJwd5Ckm5ogJAygjh5gTh5ASE52F1I8zNIEFJGECcvECcvICQH//vYFXH+b/4NAACgINSFNPzd3tjjtSN1RGmwB8YLxMkLxFkaCMlBdxfD5qsCDZ4XiJMXiLM0EJIDsdGTRypo8LxAnLxAnKWBkBxASCVBnLxAnLyAkBzseg1pm0ePFNDgeYE4eYE4SwMhOdjjChIaPDcQJy8QZ2kgJDvDG+y2Bg2eF4iTF4izNBCSnZ1WAho8LxAnLxBnaSAkOxBSURAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkBxASTxAnLxAnLyAkB3sJaa91gAbPC8TJC8RZGgjJCoRUFsTJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJAYTEE8TJC8TJCwjJwS5CEhBSaRAnLxAnLyAkBzsJabdVgAbPC8TJC8RZGgjJRAgIqTCIkxeIkxcQkgMIiSeIkxeIkxcQkoM9hLTjJSQ0eGYgTl4gztJASAZ7xo8GzwvEyQvEWRoIyQBCKg/i5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5ABC4gni5AXi5AWE5GAHIe0aPho8LxAnLxBnaSAkhT3fY9eCBs8LxMkLxFkaCEkBQtoGxMkLxMkLCMkBhMQTxMkLxMkLCMkBhMQTxMkLxMkLCMkBhMQTxMkLxMkLCMnB5kISENIWIE5eIE5eQEgOthVSpyMIaQMQJy8QJy8gJAcQEk8QJy8QJy8gJAebCklASFuBOHmBOHkBITnYVkgNhLQRiJMXiJMXEJKDDYUkIKTtQJy8QJy8gJAcbC+kfaNHg+cF4uQF4iwNhDTSqwhC2gTEyQvEyQsIycHmQto5ejR4XiBOXiDO0kBIIxDShiBOXiBOXkBIDja9hiT/2Qk0eF4gTl4gztJASCMQ0oYgTl4gTl5ASA62ExKNqNHgeYE4eYE4SwMhDdCIGg2eF4iTF4izNBDSAI2o0eB5gTh5gThLAyEN0IgaDZ4XiJMXiLM0ENIAjajR4HmBOHmBOEsDIQ3QiBoNnheIkxeIszQQ0gCNqNHgeYE4eYE4SwMhDdCIGg2eF4iTF4izNBBSD5Gg0eB5gTh5gThLU0JIP+rp56+Huq4ffi0alItXdgUJCGljECcvECcvWAnpVz0J6Wvd83XBoFK80kIi4iM0eGYgTl4gztLkF9LZR6OQftQ3P/81/37e1N+TB9XiFRbSzl9BmkGD5wXi5AXiLE12If2sZyHV9d/u75/6JnlQLV7RFUTnAAkNnhmIkxeIszSZhfTna11/HYX0azrW+Vb/ThzUildYSGRAg+cF4uQF4ixNZiGdj45+NKOQvtfjDQq/zmPTBrXiZV5B0rf46NzQ0IIGzwvEyQvEWZrcQnr420xCeqj/DKP/1A+Jg1rxSgipu3AkKJ2wQ4PnBuLkBeIsTWYh/Wv/GYV0M9/+3V4XShrUipdbSKKZhUTIR2jwzECcvECcpSnxHNIopLpWRiUNasXLu4LEcKJODE6iAxo8LxAnLxBnaegK6X8dHxkQHfKI7r+PD+GaAwAAwObQFVJHviMkof6mdFgkgT0wXiBOXiDO0lygkOg8BmuCBs8LxMkLxFmakkL6ot6nkDSoFS+rkFbnVQ40eF4gTl4gztKUFBKp276F8YMiaPC8QJy8QJylKSmkH9Kzrt8TB7XiZVhB/V11pJ46MkGD5wXi5AXiLE1JIc1m6V7DkDSoFS+LkMT0L1nQ4HmBOHmBOEtTUkjT+1L/9mOSBtXi5RDS8KYgCIkAiJMXiJMXTIX0ffqixI/kQbV4EBIvECcvECcvmAqJ1Af6hPKHKGjwvECcvECcpSkrpOY/9avkSYNy8fKtIAiJAoiTF4iTF7yElBEIiSeIkxeIkxcQkgMIiSeIkxeIkxcQkoNNvhhLCMTJC8TJC8RZGgiJFIiTF4iTF4izNBASKRAnLxAnLxBnaSAkUiBOXiBOXiDO0kBIpECcvECcvECcpYGQSIE4eYE4eYE4SwMhkQJx8gJx8gJxlgZCIgXi5AXi5AXiLA2ERArEyQvEyQvEWRoIiRSIkxeIkxeIszQQEikQJy8QJy8QZ2kgJFIgTl4gTl4gztJASKRAnLxAnLxAnKWBkEiBOHmBOHmBOEsDIZECcfICcfICcZYGQiIF4uQF4uQF4iwNhEQKxMkLxMkLxFkaCIkUiJMXiJMXiLM0EBIpECcvECcvEGdpICRSIE5eIE5eIM7SUBcSAACAS8GUACUhjViKCQ4M6pMXqE9ekKpPCAmUBvXJC9QnL0jVJ4QESoP65AXqkxek6hNCAqVBffIC9ckLUvVJUUgAAAAuEAgJAAAACSAkAAAAJICQAAAAkABCAgAAQAIICQAAAAl2E9K/71/q+sv3f+Pwr4e6rh9+Oaa2/Kg3LSBIIqk+bdULSJG2ff78ivqkTXp/2/yud+hx9xLSMncVXwAAIABJREFUr7rnZlglX4fhr9apw7gdygniSKpPW/UCUiTV59+bYRj1SZX0/rb5d3NBQvpT19//nlvyQ33TWflHffPzX/Pv50393TK1pV1n+5QVhEmqT1v1AlKkbZ839bc/5w7sZ13/2bXUwEV6f9s0D7v0uDsJ6Vv93/ijXSNNXf/tBv/UN5apZ37WEBJhkurTUr2AFkn1+aP+1g/+Vz9sXE4QR3J/21bm1wsS0s0Y6t9ujfyaVsS3+rcx9bzezutml9UD4kiqT6N6ATWS6vNLPe5XYxMlSmJ/2/68ufl7QUKa6YL+Pp19/lX/MKa2f86j0dqPQFR9OgYBPVCfvIitz6/no6bLFdLDdPL5j3rUPwrp4S9a+zGIqk/HIKBHSn3+xClY8kTW5892/CUK6Xd3/vlmjlw5i/N7ODvdnRJA73UA4urTPgjokVCfv7/hJhXyRNbn364qL1FID93BoxS5shIe5BtJIaQDkFCfxiCgR3R9dvcQw0fUiazPL+2lpUsU0u/+iNGxgn4rx5MQEn1S6lMfBPSIrs8/Xx/aZ2P/blg2kE5kfQ73TV6ekP7e3Ohn46Sf41RzCqBJUn1qg4AeSfXZ/MM5O+JE1uef4Tze5Qnpy3A7vH0FjVPNKYAmSfWpDQJ6JNVngwfLqBNZnzfDPQ8XJ6Sv8ynLadx8ke2rdoUBQqJOUn3q1QvIkbZ9Nu218C8bFAssJLI+v423gl+akOYWbbsN0WjvEBJxkuoTPiJP4vbZgm2UMLH1WctsW8Q9hfRXatE/pAe1vhtTB9DYSZNUn5bqBbRI3j5bsI2SJb4+L1NIf2+kFj2/ymJ4hliZOoDGTpmk+rRVLyBFQn3eTK8Own2TZEnvby/rlN2v+kZ+M/D4sr/h9Una1DHNJiUDS0iqT2v1Akqk1Of36fFYHPdSZUF/e1FCal/dJw9/n16H/sMytQdCoktSfdqrFxAiqT7/3dTf2uHfX/HmDaIs6W8vSkjf9LOUygejjKkdEBJdkurTXr2AEGnb5/SBPtz0TZQl/e1FCcm8bPaf9Eld+0U19F50SapPe/UCQqRun+0nzG++4TwsVZb0txclJAAAAEAFQgIAAEACCAkAAAAJICQAAAAkgJAAAACQAEICAABAAggJAAAACSAkAAAAJICQAAAAkABCAgAAQAIICQAAAAkgJAAAACSAkAAojZiobx8/PQk/7zYrEwAEgZAAKI1QeHSmexLYHsFFgw0AgNKoQhLXnnRbFgsAamADAKA0s2jeX27PA64TcxASuHCwAQBQGkU09+eh14h0AFwe2AAAKI0qmrORrmLSAXBxYAMAoDSaaGoh3vtfL/fX52lX929Dqo5h0t355+3LtgUFYF8gJABKownpfIj01P59v57uc7hvVCF9jpOu33coLwA7ASEBUBpNSK/nQ5/2by3defeiCulqfnJpjwIDsA8QEgCl0YT02V9Eejrb5qV9TPblargVfEp3104aptxuXFgA9gNCAqA0+s0K/fBZNm/98OeQYEz3fvbR8EKHq+l6EwD8gZAAKI1dSOaIcfxjdwqv48X3ZgcAmAEhAVAar5Denm5rTUi30nScswMXBIQEQGmcQupv+55uZRjHy3c74LYGcEFASACURhPS23APg3Tbtyok7d13m5cXgJ1AYwegNJpUXoa32fUHQle3Ty8QEgAtaOwAlMZ8MPa56W/7fnqXE0hC2riEAJAADR+A0miCOQ+2N3W7b/u+naYAcFFASACURhXS3XDj3Dz2ybzt+37TAgJAAwgJgNIoQnoWw/HP+Le9yUEV0puYHkR6cX89CQB2QEgAlGYW0nv7MqDh8OdWiKvX86jH7s6Fzz7dyzhJPJ3HvHs+ngQAPyAkAEqj3TU3POn6ooxsD5aux8eOPqUnkXDyDlwOEBIApVF99DSOvh+ffG0Pm4b77oaDqfkRJfgIXBAQEgClmWV0dff8OY9/aU/N3T53H6ToHpV9Gt/73X6gr54+3QfAhQAhAQAAIAGEBAAAgAQQEgAAABJASAAAAEgAIQEAACABhAQAAIAEEBIAAAASQEgAAABIACEBAAAgAYQEAACABBASAAAAEkBIAAAASAAhAQAAIAGEBAAAgAQQEgAAABJASAAAAEgAIQEAACABhAQAAIAEEBIAAAASQEgAAABIACEBAAAgAYQEAACABBASAAAAEkBIAAAASAAhAQAAIAGEBAAAgASkhCSsrMsvZ9ls4x5XL/LqPMu7NHzXRX0njXk/D18llWxVgQAAYBdIdVbpQnqqQ/nlLJttnHhLXKRR5FZAz3quQk71rAkqXLLwVP+aAwCA7Tm0kF6u/L3/JkK6CiaTsRS51c39PPg2hC2J7v48+JRUstDU0JoDAIDtIdUtpQop1PtvIiT1pN2CIrUGup4HH4WR7ZVxIBa/SPtUnMgDANCDZrcU2V/SEJLiiiVFUsddn4deVEetiQNCAgAcBZrd0rGEdBVIFsrmWpbap2ivH9VyMu0QKg0ICQBwFGh2SwcSUq2eXVtSpEf5ElF7cHTX3ejwMo560s8Lri03hAQAoAjNbulAQmpvSZDu2l5SpNZBt+PAfaeidtR0o8OtbKcc5YaQAAAUodktWfvLl7ur8wHJ3YuUZqAf8frY9tziekrh6nZdCT/vr+UFdDzftqPePBd/bpUTamqy10CRe/qzdAPtEdenOWpWnpantsina628/d/3+26mV18xAABgX2h2SZa+8v1q7ESv3qc0Urf6djUPDynsQnImHG9vk/TyWg+j7t1Cap9anc+4ycner6flvNmKPNFLqJ9H9NekrmcJvctyMvJUFvkylvdRFdIU2q2vGAAAsCs0uySzr3yRetH+/JXarSrTRf3pyMaT8H4ee22mvXcKqbvEMx3BSMne63l2W5FnpHNy4/WiViHPcylunXnKi7SVVwvt1lMMAADYFZpdktFXdh3x9ev5mKU9QqiNI6DPdnp7pqp57/zwaM/Gl/A8+n3If+jqu2Of27dxpPN+7WvJYVKycUnv95KxrBaQ7lpo3dSeWHudLSTf82DLc8ryU8grSRLSeZ7z2LfbOTTICABAD5rdkvUY4m7+easne5ynd28+uLZn40s4HnBcTynaJd3PI51Ckk/azcnu5yylx4qsJnizTJ8TSneFW/OcUt7Na2Yur5AKN4cGIQEA6EGzW9L7S+UyynyNf07WXhf6NOa2dLvuhONZsfbYpHuySL6xoDuwcj7RKp20Uw5XlFvn3tTp9njnA6O74VBJOQ605jlOt5dXD82pagAA2Bma3ZLeXypP4jwKzyk5ZXSo21USjretfcqamRbquYbUyCftplHPk1Ca/hDIV+TpIKhdzPM0/+M47/DorT3PMctna3nl0OLXDAAAbA/NbknvL2/1nvjWmqyb+ngd1+3qCacbq8ext0J6gcKrV0jzSbtp1K2S3ltkyUPzpyg+Rw+1XryfV4OZ55jlnbW81tAgJAAAQWh2S3p/Kd0XLZ+aUpO9P9/fTjehWbOJSzgOXMkjP215zeOmk3bTKOnm8nCR+tczSBZq5pOL0tcp7Hn6y2sNDUICABCEZrek95fqsLVbfb+N7P2DCa1dufs5pJ7xpJ2SZbSQxqeP5C9RjEdN0qu+7Xn6ywshAQCOAs1uKV1I0yM414/v3m43nHCRkMaTdsuE1I3+bJRX2LUn3e7UQzMICQDAGZrdUrKQurvK6rvnN8f0iYiEi4Q0nrSLMY9l9HCRzFIO6YGkwC16EBIA4NjQ7Jb0/jJ4Dam98+7amNvS7UYkHAeUO8SDQupO2t3Oo9QX0HmzaXqdPWnfmehvqpDv9bPnaS0vriEBAA4HzW5J7y+Vu+zmY4Y5mfxNVe8pu4iE44Bxa59fSF1uz9Moxyu6HSboY1K+QzGoSC6FPU+5vNNddlN5ISQAwFGg2S3p/aXxSJD+UI88w4uv241IOA7Idxj0ryf1F7NNMj8/K78SwhOZMl75Ul9nuOvx6pInT7m8ysNaEBIA4FDQ7Jb0/jL4pgZ5hqtYITkSjgPdqcHRBd43Ncj5jaO6A6bx/NqbCL2zp533VY5yWKYyzp6nUl55XggJAHAoaHZLRn8Zepfd9Xyy6174ut2IhNPAvZgu6Uhp3cV8k4WkfCdpPlHoMkF7f938qrl5oeo4a55Kee/m7CAkAMCxoNktGf1ld2wwv8h6OEpo++T788ThHrdWNC/Di67frdlEJZwGPqdXjN/KpnEX81FO1r2g/OrlnE33laJbvcgqz4PM5EtE4x3q82Ula55qeW8tb/s2C+wqBgAA7MdBhGT5HlIzHgd0SaXvBN3XxrGDRDih5pSeiGtIzXjSzlbk8bhGKrLCeHT1KY8cxs2Xlax5ztm5vodkFthVDAAA2A+aXZKlr3zTvxjbzMKQfor6uettnxzZRCSUBqbP1Hq+GKsUUunl54/czmfdpCKbec3vDeqxfIbJkqeUxPKFW3tozmIAAMBu0OySrH3ly925F726k09qfd63/XN/5uqpexDo+VP6vJC9yw0lVAZebtvnaN8inkPq0A6kXu668j1Kp8bkIsv0ZwUflXH9KcBrNaGRp7LIZ6m8tSc0VzEAAGA3aAoJrAa6AQAcDQiJDcqx0KuwPgYFAAB0gZDY0D22NA7MX/oDAICDACGx4U663vRiu+QFAACkQa/Fhu4Wv+v2no+37qbvp+AcAABACQiJD/dC5j48AwAAUAJCYsTz/CBvjQtIAICjASGx4rl7SEl9WAsAAI4BhAQAAIAEEBIAAAASQEgAAABIACEBAAAgAYQEAACABBASAAAAEkBIAAAASAAhAQAAIAGEBAAAgASUhPQ/AAAAl4IpAVJCGv5+7FqK7UCcvECcvECcpdlNSD9qY9Svh7quH37JoyAkniBOXiBOXlyekH7VhpC+1j1fpXEQEk8QJy8QJy8uTkhnH+lC+lHf/PzX/Pt5U3+fR0JIPEGcvECcvLg0If2sTSHV9d/u75/6Zh4JIfEEcfICcfLisoT052tdf9WF9Gs6MPpW/57GQkg8QZy8QJy8uCwhnY+OfjS6kL7X490Mv85TRyAkniBOXiBOXlyYkB7+NoaQHuo/w68/9cM0FkLiCeLkBeLkxWUJ6V/7jy6km3lYuogEIfEEcfICcfLisoTUoQtJGpZ+Qkg8QZy8QJy8gJBMIfUvkvjIRQWWYlmXW9WGntaeQz9kSbkm6sjS7dLWLEuYFvyhjooqXFw9dSPsaTaJOh57LF0ZKRWTGc5WlAJdIXXkO0KqVuewBRT3wCpzhDFqdZ6eZJU2bOZQVY1eqn6oG3Nq5n+zUoUnlKlPWwV0XYIyzUxjG30640jZJj6NnFNW9kzPo6oPY1I3S/vHnnHm6jgpPytbknbtVP6WFy7UhzVhXDAJ7fAUvX5OthlOocW4pw5TPsbfp3l0gS3IAoRECqJCqrQRlS1dYp7RySpt2JVDpQ5Uw6iTtE3lpVtgNS7HWpLthGROc6RRR/fWcGZX6QOWlJVNSKG1nbc2tN64sqUZhBSbjZ0Pa7rwfIPTo9JGCMVYdDEhNdP+yKUJ6Uvhmxqq1TlsAUUhNf2utzS8fm1Gzl9pae0/7XNWQ6JxOyp0iMRBSM1pOLxqtJq2CElPYRPSyXVcpC93EScN/TDMbqQqYj8qXOzFQkpIW15InomSkNKjzAEZIZW+7btancMW0BRS1I5yYpbx6SptOC6DavTmtB2VOUTqOrrKHN+zk5BO7hNx2tixQ2vTn2lnqlyp22knp5Ck8ZGd7kJO+qAxYmshhYOJE5Ls2FCOanaGkPzLCU6DkJof0oOx88vsICQSVPpAZUu1NEN/OmPZcRmMQkrbN02jaqgKqf11sibSRkorpesJT+ohkJK66nLXs20HVSFFrehsQrINV41BnJBCSiospIQc1WQQ0mrcrw6a39kAIRGh0gcqW6qlGfrTGcuOy2BHIUlD1IVkrpNKnq1Splft/076stvBXYVkmV6ZY6OEFMx8vraSVKRI1awSkjYzhJSI8+Wqf+UpEBIJKn2gsqVamqE/nbHsuAzGDqikkIZjBr2rkwa2F9Ic9KlSR+q/msbet1pnG4YqY+QsJPmqTpiiQjLXTzuiMsaacxIVUuhmxSQheUvrFtI2RqIjpO/T5yfmV9lBSDSojN+VJdXCDAPpKm04PoOuAyovJHchi9Vn5Z/WR3qSOuD5pzqrbZ1U1p9NWEieQpnsIaSInPcU0snxuzmGkPJsX/sLafpR9gN91eoctoCokMxOqrKlWpRfKF2lj4jOYAshVQ1ZIckHO1mEdBqOOSspv+Hhpw2FFNX5V/rIyjbSMqdHF22Xv5mQjAH7bEuE5D+CnYSUHCU7ITX/lfyEebU6hy2AkIx0lT4iOoOthKQXRxogIqTKteKShHReoaf+T3VSs1sgpMXVsZuQGreQoo7agkn9QrJ6xCqkk385MV5ZIKRMm9duQooDQqJBNf4dd40re7rU/CLSVfqI6Azaskb1BMuZjxTkkfPPnYUk+XL+JZMqpH6mk14Pp4qYkIw1VFnG2eZcISRfwdYIabwqFxKS9uwthFQCCIkGlfZ35eqsouOcenxXQbwze8/L54C2kKZDpGqaR5vT2smNaSo9tVQZY6JqHKpSVy8/IXnOhfmEZL8ZZFLNSR9jTdVIzlopJOetKWaRErKNBUIixWGEtG59biUkdbMqKSTHccURhTSvY/2gR66MSv5zWiKkuLvxzPmiUlTaOH3YNaOvGw8eIS0UkmcO/cqQa16bkFyliVnt9nY7t6uF2UYAIZGCuJAqaUxlSRadXbyQHMNxSz95hvJQeX/tISQpztOQcv5Hm9O+RsY0uo+UEZWUaXOqks/YOZe+fq41QnJmX0xIjpnM03SJQvJFEsTRbj2qy7VxQUikgJDsCzaG45YOIVVT8soyZ0BI3sVW8phNhBT7lNMgpKqRSlzZk5rlgZBa/EJyrYEcQEikOI6QVq3QeCE5ShK58PJCmqksv3apT+WqQ1eW+Z91QjoZyeak5YUUnVwWUjWMqxxpjQVYlzK9X84lpN5X6UJyC5a2kCxE5BoDhEQKCCmuJJEL14SUbauxUVl+MROSmW5OWlZISV3eKCT5/9HlsQtp/De7kNxzJAlJUVFhIZXdr4OQSEFbSJU5amF2uwip7LZUGT+anYQk/6zaP/M/6opz9PFDmqBiTvOLWIsLKTXfqhNR1ZWsIiWkoGTkacSEZJQpPxASKSCkBSVxY2w7BTemyvjREBDSfBgj/2umlKmUP74lTUYjJ6ReRNWspdj5wkJypdhBSCftF4RUGgiJBpX0rzqqmneTE7KDkMrhEFL3p3KllKmUP1Gc28CCVRs/yyIhTR9PrCCkyGWOQEgOIKQM5GhBlblZV8P/F6xaCKkg0UJy9ljVlD6WixDS+c/FCynj7Qt2ICRSkBZSZYzaQUhJi4SQFCFpB7MZhXQqK6S0vHshVfOITYR08hTz5BjwxqVnSEFI5YGQSLEwTn8byyMkY6uumuMJaQsjVdK4HTZsfad6qreqknpp765uJf0buVAIKbuQ9EMuCIkABxPS6u6OtJCMUQuFdN5Rh5CKYZzlGbtmVUi+LCrp3+iFEhZS5FPcSnduWz6EVB4IKSeMhVQZuVbTSjWm+bNqlsV5khYWuUQISaJq5rIFGkw1pk9YKGkhJSxlmZCaU34habflRwhJOciDkAoAIWVYbhEhnU7V5kLqNtAqYYkQkkblmqBmUclp4xa6ZMXGzpN4HR1C8uYOIa0AQopbrnfBJTrhcw/UngLqB6omYf12CRcJqe/1qimTiFkixmSj0v62UBNScEJPNf0TvdCiQlqSbZU2U6N26o4phISkXgWEkLYBQopb7h5CaqSrEwkPI3UJF56yO40ZRC7t0oW09LTNqWogJHP5eYRkHteESmRNbM3zJE+AkPIDIcUtd2shmVtfFTtrlxBCKkaMkIJroWoOL6RkTlKnbs8QQioPhJSTnYQU6A42EVL0Cu7SLb2p4dQQFlI1/JXGHVhIVcqq+lj2uGTkTJsIydOPJwnJdj+9Q0jBgkJILRDSYkgKqcCj1XO7n89kV1XUmbs+wW5CKmmkc6mqZpGQTo4eawlZhHRKfCEUKSEtW3+e4xZZSK7Ht2YheTLQhtLKCSERAEKKW+wOQpobv5x/FZq1T7BSSMGlzHPEjMtG14tX0ohFQlpVYVFqCy/glCiktRLIkWxxem0ev5A8GUBI64GQcrKHkE72bUBKsKWQQut5mLwszuGfiqyQDFkuEdKy6zHz3O6h0GiZVCEtgoiQtNdWrBaSkcheKUvuZg/kCSEVhpyQ/LV5IUI6Tf9CSCrVQiFJnZStQ3PPpw3rJ5TsGcVkf6oiy9BxcCEFZo8SUiM10UghxZfQktw6N4RUmC2ElNQuIKRGEtJJGhypfHOOE7kKSS9bXJwnvZOKfaeylM7xcjpntxWkikk0AiFN6SCkVUBIENKCJc4Llkb0VJ45q3HiUiF1/64TUulDpEoeXCikJq4p9R3gyfeiVAgpPf1iIU0+KCIkRy7WAvjyh5BWQE9IwQa5ikMJaTrRFC+k8cd+Qip8iLS9kNKTxK2BpPW0dPssUJT16Y8sJHnfBELKD4QU5OR/0XA7KXMfPGlIepRwXi+VZ85p2iohRV9wh5BWCCmJokJKLu9agbmGo4XkV5xtNy6GCCHFpICQVgAhBZmE5D5rU0ZIchGkZVTuGedJbIWklY2ikEqsgIsRkj9rCGk11IX0kYvKOeUk/Tw5U0WlCM5egHOJTu2Suz+2EpwyFOvkHDBHute0e0p0EZJCCRS0CFVskCfl50kfGVHMmEjMNOE2viFRhUkucOoMenrX8CmU9bQFanFZh1aGFZ7dkYJS/ZtQF9Lwt+gR0sn205XYu4Ox5xGS8zApxxHSyfHbNrpy5jJPWXeElDZLzMiMVPKAJ86T+tMIb/EecCBRkfgXb5+ZDgTXzZD/CMl7NIMjJA8QUjYhec6aRXNkIY13e1XOXOYpi4WUFMsuQlKIEpJ0kqeQkCKqbx3Lt89lpx2zzhB09johuR4Og5BsQEgQUsxCHL9tCSvnxHkKhLSlkE7R1beUFUIKP3J1KCGZzdScZcHBvjkDhLQHGwhJ7q+PK6Tx5Y57C8lrpHkChKR/XO1ShdSESwQh2TKCkPYAQgoy7GESEpJzXc/jIaT1QooM5KQ26zLhsxbSaf4BIZUGQjpJ2+uRhdQYfc9UrtXFStjFhpBk4oUka6nRfjpyiCyD+uk4CCmcPIOQvGscQnIDIclHFocXkq142wqpnVw5Js3jIaST0XVp7QdCip2+dgaXMcyhE4RUGgjp4EIalwohOWeJGFkKCkJSMyYopIgWlTW/cPIthJReERDS/mwlpBOE5F2IlEPE/mzlmFSNuZ2WCyklGAjJTAshRSSHkCLSlAFCyiWk0ynD1k5VSAk9WlBIbYkhJFNI+ndjQ3knBXIyfmQlo5BOJqvyC6eGkAwgJAfbCGm8DsNSSDmKlSgkx8qu5gJBSBDSTNKBYWJ+i1JDSBFpygAhKUKK6G49Qlr/oYflQup/Q0i2WcIjS5EkJD1BgGXdLkkhrTkcsma4MjGEFJGmDBDSeGjRNHIv4U5NT0jS7zJCUqS3Vkjd+oaQIKSCpARpS+sUUiDjWCEtM+8CIUV/RFgDQnJAUEjODmR/IUnfzFMSrCzWaV5MTIQn2kLa1EjOOK1dl5HEC4TkhICQLD/WAiHtD4QUYmMhxSWvrBOqObcVQkqIhraQQus03PklcZL+zc5BheQ6UoGQIouUHwjppPwLIdkXkdCdQUgzENIuRAspajxJIcWdqmAvJCGUqbW4zlwejaMI6URGSEbxVgvpNC8mVkhNdcaYUM25bSIk155D+rIXAyHtQmSUzmQ5hZRvjUNIlmmqkLTB/EBIIbYSktSDxhWpMsZX88QFJeInpMC6gJAWExOl776CxUI6mc0UQkpilZBeLkpIYx8SEtKaFkhWSCn5FBdSpPghJDM9hBSTZqmQmuJCStkt4y2kO2HlapvibSMkf597BCGZi085tPEvIf6NDw4jVXNma4QUXRDCQlIbnS+NEwjJDYQ0JGEspE+7kJ62KR4JIZ3cSXgIyX/LUfwJSQhpZI2QAgWFkNyUElIwTghpLfGn7J4sOrou7KMNhCT3kAcUkvm6GV1ICUWy9vQny69gPi2VPrpq1NWdxsnxO26O5Jnz4KhPrdE58BY0OQoIKT5NDiGtaOrOzOVPt8WkD2zQbo4gpH6a8E3NDykhDfVrq+NBSK7p0UTHaT9sWSekkzuDNIZZKm10tWq38fKElNBnRgAhxafhISTrUyAQ0io2E9LYFR9OSMbYVUIyV8GSaMZ5KmVsJW1PENL0ZyshJR0rpwIhjUnJCymqPIcR0tZASM7CqH/nobVCOjm3xmimeSp5bCVNgJCmvxBSAcL9sHdF5BFS9mPSE4S0NxCSqzDW/a/8QloWjPUQqZKFtLA/tfyOmyN55jwUE9JCo5eKHUIak57kgeCC0pAvCkFIA+/310KmULkGCAnpNDY3SkKylcUymNCBa224kJACr/H3ZGkOxM2SOnMe7PWp7OZuKKRMH3ewcAAh2baLuNmXCqmv3pxCkjooCKnnRWiUKlgPhOQqTTkhLTgWcZahkkZWUmZbCMmV6DhC8rfGVLK8SsQBhGRbSr4PPM25Q0gK5tNIxUrWASG5ShMppJTTBvOqmLcjCGkVISF5W5xn2pIYLklI5graQ0j2McuBkAzuzwp6fC9WGoMNhXRiIiRb150opDmKhbHMQqqqaWRGIcVtjq7xxbplk4CQ/C0ut5AWzhfDAYSU0oIWC2mpAOKBkBSuir+bQYWKkMaJlyOkVecbpNkq6RcNIW15jGStz5PyczMhrZkvBITkzBZCSiL9OaTP9Qv99VDX9cMvdeS/esIsHiUh2Sp5eyG5ipJBSLahNOR5q/kvhGQs3v8aJAhpKcamvJuHGM59AAAgAElEQVSQMgMhqdOEb2okXwfvfFXG/t5OSCfL7xghOd8NtJeQrIuyCCmuTBk3Jungqpr/QkjG4jcWUikgpJhscwAhKVxnOEL6Ud/8/Nf8+3lTf5dH/6x/mmm3FNJJbsUndTo1IY3lcUwzBrYWkpRbNfypFCElL4yrkBI6xpgJOwEhxWSbAwhJ4SXDNaS6/tv9/VPfyKMfhtEKGwpJ1ckhhGRfEhEhaUaCkKyLD1ylc02FkAKcpnMe87A23T+3fQhCKk3qc0i3ol55k92v6cDoW/1bGn9zY0kMIdk5eU72kBRSpS5gAyF5khASUqhndNxYAiEFgJCayxBSa6SnVUr6Xo93M/yqf8yj/9XfLIkhJDuLhBQqGISUnbVCcqWAkEKcxo1yHISQ4mc8gpCEg+QlPtR/hl9/6od59O/6v/8e6vrm2x858ZZCkp+/uUQhZd+WZCNV6hIuWUjrIl+URXGICkl59dtFCslMByFp3Mw30ckXkX5O99jJtzoUEZJyEkSuYI+QTtFCWvXYZYKQnC3LLaSUrTADkpAqbQkQUgIL93K3hKCQTkqHfJlCsqWDkDSku7rlG7zPR0c//53//n4YjPS/jo9MVKePj9Pw+3SSJpy0hCdt9Gmc5TTNqc8yTO7/U3MvxclajHmaPtCX21+y7OUeM6y6/9kLlpxZ9NyeJFvUUMalW9pbloKw5jRsivMGkND8lrfU4jVz0v6G0hrpiLed7T8/4RDSzXRp6Ws9n7XLdoRUSbtI1iMkbfik7omEj5DG/2gdISlR7HWE1N1hpy7go0l9DcQBj5BOuY6Qlu3lbsnRjpBSzl7LAwTi1E/hBJKyPULKhkNIM7+k2xsgJDvHEpI5/JG8xCMK6byHnmXpEFI62tuBISRtfj8QkpJivrQEIdnxLUPe9uQo9NPoKXkuYlchBdbQFpybA4S0F+uFpPYAPQTihJAy88V+U4OE5KndhTS8vuHoQhpGbiskPUcyQtqoQ88mJJ/aaUCgo9ZZKyRtl7SHQJwQkjLN4PruOW2Jjtu+JSCkIIHu9iBCSlkkhLQui7IQ6Kh1tFMcjbLWYoRk6/oJxAkhKdNs1C8pS/whPRj73Zbgb/3FKB5RIUk5UhLSXAQIKX1iNhwrfL2QyPmIQkftYt5mIaTYGQ8uJCFeE5Y4a2h+Z0PT3mX3b/j1n+SpnEKaj8EXC0n6R5mZqpCUkkJICbNHYFrfTAAh7c5pet4dQoqd8ThCap7P+rnr/PPafj32+fz3+nyMlLLI8eWqf5V7Gr5P7xH6Ir3ijo6Q5iN/CCkW5kIy17KxlExCUueh5yMKHbWL+fUp5nbrnoeFkKzpeAnp8yyh6QTd23mgfa3dVSemaL5Pn5+QXmXX/DsPtqL6/VX+TtJ+QmpO8984Ic3/LufChJSwTHJCOulNxbYUCGl35pYfLyRlc4GQtiRRSPfK5yeehLhvum9S3KYsU/1A33ic9PdmGC2/ZDW7kLr/H11IoQeKbDt3ytee7LNFLTuFCCFFLxRCWpVBYQh01C4gpMAIG4cR0pXygb7P/mTdZ+I5u+Y/+RPm84m7n1/LvVxVEpLaT0QJaTq82lhI9qxC7zg42VotTSHFL9SdV1T6xLkj2E1IBH1EoaP2cHJtt545GAnp5N0Dt3IYIQkhLIPa2IyQENKJhZDUfUT7bJlxH9UwEpJzvbYjLZ9qX7ZsT4ulAIGO2od6d2zES6t4CSl9f+ZIQlKPkI4uJNcR7ZhIE5I2zy5CCh3pLBHSKZjpIk6ugeMLaVyd7vVaSEgUfUSho/YhCSmuoc93QkBI25IopGv9GtL1+c976im7eDIK6bRKSPZdVJpCamybkntPvp+4qtj+YlgGPuxJYrOiJCRnfhASGaRnkZwnWNUZIKSdSBTSWUHqXXbt7XX3QtzlL1kHASE1Jx5CcubXT4CQ0kgV0km5L2bZ8lbMXhgCHbUXCEmf389hhNTe1SDu5+eQrhpNUpmBkEziNihrSo+QivR0fIU093DO/GQhSSf2IKQdmLblBkKKmes4QnqvhUT93r+84ap08agKaWyyDIRUAuWjR1SFtCD203QOyCOZTkiysHIIiaaPKHTUYYZtP15I5t4GgTghJJXPu9lH913y3ktloCEk7QACQkpgJyH5pysb6BIhTX+mX2YuJYRE1EcUOuow+rbvTQoh7cOCz098Pt22h0m3j/39duLq/jMwx3IoCKlxCkm5N7yAkOxZrRCSc96CHd3J+NEsEJKeLKuQEj9eaxOSxUh5hWR2jpQg0FGHkc/DRSUlLKTohnABQtqSnEIam2O8kE4Q0npO2t8OOkKa6i2FRCEpO7WLhZT60fctIdBRh0mo5lFIusEoxJm2ZwIhZYWEkPQjfQgphQMISVNGdGlOll9qIkVItA9yVkGhow6SLiTjkIpCnBDSjuQW0ikoJFlBspCMFI1NSM3K+6c1IdlaT1T2EFLs1DVCUl747RCSPAlC2peUNyfyEZLWNrkISQjR/6uxTfG2FlLfEC9GSEU7SVtnv7OQjAawVki2eSEkasSvemZCanzt1AaEFCheNiHpewyZhNTLqJCQHEv30ZU/3mYbCEktDRkhKSayfLbDPzuENEChow5ziUIyroNBSDmKl1tInq6HhZDGIllGO1KXw7YBURPSUMhkIfmWOAlJXRiEtBsQUuycBxDSPlywkE5chGRs1U0GIUUbxztZbQe+VmHPPVFI8tESLyh01DmBkPbicoTUDDqaXNNhEdJYgU4hSTOrQmrihORJYBeSMsM6IdnnLi4kfQGpQnLsN6TMYJusqSJZSN6Rg5C0zgBCOgIQ0l5ASDqykOR2KSeZ/kJIUYUx8qchJEMVkUKKW4kWISmHS5yg0FHnBELai8sUUmPZRx6ZK/BUXEiejpqTkEzUOMOUF5Ky3WYVkjoOQjoCci8BIW3JAiG9P7avDjr/uHstUSIFCKlpFgrJfs84hDRMP/kyhZASodBR54SRkPQY2AnpVnS0Cfu3q5ZkXyG5+o9cQnKfyhrPIE3lsMwdWAYnIVmKvVJIzT5CWnfLC10odNQ5gZD2YvHnJ5ruHvDSRtpbSP6uZ5mQ5gR+IVmueNlLbC+iQ6Vew25GqpCiRkVPHVJYhWSu8NjcISQ+QEh7kSqkayGuXoaHkl7Of94KlWvgooU0FETrOrMI6aSP3hiiQmrG59ozCKkbpNCBbQG3ODkJSUvOS0gv/cf4eiG13y4vfIgEIeUVUjOX2By5IeuF5J9vFyGdzEQUOrAt4BYnhLQXiUK67b9WPgjpveC3YnuOKKRQlUcJ6aQIKblBQUgRWdqEZDlHGp/7yRig0IFtAbc4pV5CqVQKcZ7CDdQ2j+Wnm8MIaTDR8Gf6W4zLFdJ0/UgTUmRLhJDCWUJI2eAWJ4S0FxcrJOeR70oh2Ts6YwHar5GNhGQ7u7QpaUKyJvHNF5Wn1XKykJy5RE2AkA4MhLQXq4T0KURdpFQT+YU04e5zTtPEoJCmXGKFdFKEZCQ1hNSMVzX0ZQdIENIez8ZASLzgFidfIcXd5nkYId0p15CehLgrU6yRSxbSVAilnHmEpKyIHW5FziAky9jTREyeEFI+uMUpnUfhJqSo9IcR0sv5mOhzFFJ72/dLqYL1/O8jE1X7z+n838Rp+kfnNE08Waf3+ZzkhF3KkzyzgyGplI89mZTfSSmnL3O9iI4C6CvCEeVGRCzcVQvS7zaIpDDsyU9D1bobh3eC0b7AMZk2icRWtQWnBaVK7j92Y8FzSHX/HNLb/fnf61ImGsh3hNT+k+8IadpL0Y+QjIN8y6yxR0hSmuQjJPehuXaoGHHRqwA5jpDkQ7v0vUbHEZKcVfoRktG+KOxRbwG3OF2bKIU4cYQk83klJOr3UuUagJCUt34myMPbm8r3dmxvoyaTkJRzp8latQZ+mio3ZrHeKRDSgYGQ9iL9XXZ3s49uP8sUamZXIbmmD32WfDueRUjuWQNCUg9hlMziLo94Fj9nT0ZIEZtInJASgZAywi1OykJS+5DYWcxfPg4gpKv78d3e/du+xe1j4dcGtWQWklwba4TU3z++iZCUciQ0w2ghxWeZkSQheRIMqzq7kOaj37QCQUg8YCukyPkOIKT2iOh6CwcpsBbSyUz0MY0+6fO583QsyDVBvSq1v5CCRQgJaVkILoutEpK+K0qiA9sAbnHOHbha1yTiXCCk1M39IEJquX0qfd1I5jhC0n7TFVJDVUiuG7Z9JSwhJHkfw7PU0CQIiQMQ0sZEC+nz+W788kR991z84tFAQSG5d4I3FJKeahaSWSZnno4FuadIC97HR3YhSb8tk+14j2S8uObKJKT+B4kObAPYxklUSMlNnp+QWt6fbscDpav7wk8g9dAVkkVCUUI6bSQkN9yEtDAE/2wnuaISZoWQeAEhbUzyXXZvj9ejlK4fi3/D/CKFZOsJOQtJVlGqkJa/ZyI0m1tIwUO2+S+JDmwD2MYJIW1M+m3fZ17vp6eRbguUSYKokJpVQpJlsIOQpNfH0hOSM3Q3ENL+sI0TQtqYRUI68/kyXFLKXSCVvYVkR+/Qk4SkzruLkKSsaAhJup0hXUgLKSQktaZIdGAbwDZOCGljlgqp5eUKQtpUSJm6ZnJCkiEjpAZCiodtnBDSxiwW0njaLnN5NAoLyX1GzptZRiE1ZoOHkJTBnUq4TkhjEhId2AawjdOyw7g7EJLO+/N4t119mM9PtP9ECimqF9SOcvIJyf6UQU4hSTlCSG4WCkk58CXRgW0A2zghpI1JF9J8R8P1U/EXN+QVklod2YWk5ppXSO4TjEs5iJD2edfesPCk0fJkCIkJENLGpAnp/Wm857s+4nNIKuuENGcCIaXjqU+1RMcU0pSCRAe2AWzjZCak2PkOIaSX+/FVDdebvT7oeEJqIKQIYoXkrqMtcNgQQjJAnBsCIbWMh0bzW7+34MhCsl4IkiUEIdkgJCTHwiEkA8S5IRBSN7bl9nnLN6s2Fyoka3srI6S9evsEIe3KMiHNCUh0YBuAODcEQurGCnG/1StVZ3YSUkJ9nzYSUvaDBapCCjwmuy0QUhyIc0M8b1l0z6P8CXIMIV3OEVIxISnnySwnzT7cxboYIXVASIcCcW4IhNSy8e11AyWF5D4zl0NI9oeJIKSecH2eTvpq3YMlQpKbD4kObAMQ54YsufGUn5Dmt9dxucvuYEJa9qFuN8SFVOCq2QIgpDgQ54YsF1L0jEcQUsvb/BzS3csWV5T2EVJKP7idkDIDIUWWIW6kfTqJDmwDEOeGQEgK0uNIj0d7U4PK9kI6xQlpE44gpL191BdCLwWEZIA4NwRC0pG+HHuod9lpXLaQpk867UFUfe74HjupDBBSBIhzQyAkG0d827fGzkKyXWfcUkh7HoIcSEhmKSAkA8S5IRCSg8N9D0kDQiIupD3fYzeWwbKWEkpFogPbAMS5IRCShUN+MVYjyx54UEjSFAhphMSGHQOEFAXi3JBF+2lpl4wPJqSX6QsU4rZAmSSOICQjkzQhKfNDSMSwPQ0FIRkgzi2BkCReH8c7v8X1Y/H3rEJIJdnvlBiNDTsCi5BSVtph4lwJ4twSCGngbb677up+xXNIvx7qun74FTGavpAsvXqEkORuTs4AQqIIhBQCcW7JUiHFz3cAIb0/Ty9qqO+eVz0U+7Xu+RoezUFIJykphNRDY8OOBUIKgTi3BEJqhpertheNVr826Ed98/Nf8+/nTf09OPoihCQVA0KiCIQUAnFuCYTU9ELKc9Gorv92f//UN8HRbIWk3FAAIRFHaSkQkgni3BII6Uy2L8X+mo6AvtW/Q6MPIKTgTQ2neTwxIe12kx2RDTsa5ZNoEJIJ4twSCCkn3+vxtoVf9Y/QaKZCOqld3JzFxkLaDRobdjTd/oPtrsgQB4tzMYhzSyCknDzUf4Zff+qH0OjjC0layHxUBCHtXYA0lJu/ISQTxLklEFJOburpp3y1yD76CEKy5NsEhaQuGkKizUn6F0KygDi3BELKSV3bfpqj/9fxkYGqxTL+dP6vBCc5c2khp4/x9/zLLEmZMoE1nKR/UUFgZ5a0wFNL9pLkh66QOrIdIdkodZNZ1BGSNscwBkdIlFEOlKI4ZpzpIM4tKd9F4AgJQuqAkChz6kmY45hxpoM4twRCygkdIZWq2LCQLLP0Uz4uw0dENuzyIE5e0IgTQsrJF/tNDfbRHIQk354FIfXQ2LDLgzh5QSNOCCkn+9z2bWV7IblngZA4gjh5gThLs72QfkhPwH4PjeYkJP/FBwiJI4iTF4izNNsLafbN/HIG5+gjC0n9G7yHopsKIfECcfICcZZmeyFNb1H9K9/T4BgNIfEEGzYvECcvLkpI36fvTPwIjuYipO456cDi2pN8EBIvECcvEGdpdhCS9iW+6YCo6Af6rJAT0glC4gXi5AXiLM0eQmr+k79VPp+h+6/gJ8ytQEh7gQ2bF4iTFxcmpHgOKaTJQPP/o4R0NhKExAvEyQvEWRoIqUy+C4TUp4OQOIE4eYE4SwMhlcl3NBCEZAUbNi8QJy8gJAcshDRoJrg0CIkdiJMXiLM0Fy2kUiwUUgMhcQNx8gJxlgZCKoAhpBOEpHKs+lwO4uQF4iwNhFSA5UL6KPWNJmIcqz6Xgzh5gThLAyEVwCqkKNNASLxAnLxAnKWBkAowC6nXC4Skc6z6XA7i5AXiLA2EVIAVQipZLEIgTl4gTl5ASA4OLaT5FoVT7N0Kx4pzOYiTF4iTFxCSAwiJJ4iTF4iTFxCSAwiJJ4iTF4iTFxCSg2MKadQPhOQCcfICcfICQnLAREjRT7weLM7FIE5eIE5eQEgOjiqk4e46CMkB4uQF4uQFhOQAQuIJ4uQF4uQFhOQAQuIJ4uQF4uQFhOQAQuIJ4uQF4uQFhOQAQuIJ4uQF4uQFhOSAj5Di3lF3sDgXgzh5gTh5ASE5OKqQxj8Qkh3EyQvEyQsIycGxhSRpKPIl3geLczGIkxeIkxcQkgM2QorkYHEuBnHyAnHyAkJyACHxBHHyAnHyAkJycFAhjUBIDhAnL/7f3pkotq3r3Jr3KImbqWma7jRNk/Tn+7/ktQaSAAhqsiRT9PrOPo0lcQA4YImSLMPPsoAgJdi7IE3NsFM/JwM/ywJ+lgUEKQEEqUzgZ1nAz7KAICWAIJUJ/CwL+FkWEKQE//vYNf93bgMAAGA/5C5I3d+dnplghZQAfpYF/CwLrJASQJDKBH6WBfwsCwhSAghSmcDPsoCfZQFBSgBBKhP4WRbwsywgSAkgSGUCP8sCfpYFBCkBBKlM4GdZwM+ygCAlgCCVCfwsC/hZFhCkBBCkMoGfZQE/ywKClACCVCbwsyzgZ1lAkBJAkMoEfpYF/CwLCFICCFKZwM+ygJ9lAUFKsHNBmgz8LAv4WRbwc20gSFkBP8sCfpYF/FwbCFJWwM+ygJ9lAT/XBoKUFfCzLOBnWcDPtYEgZQX8LAv4WRbwc20gSFkBP8sCfpYF/FwbCFJWwM+ygJ9lAT/XBoKUFfCzLOBnWcDPtYEgZQX8LAv4WRbwc20gSFkBP8sCfpYF/Fyb3AUJAADApRCLQE6C5FDMBDsG/VkW6M+yyKo/IUhgbdCfZYH+LIus+hOCBNYG/VkW6M+yyKo/IUhgbdCfZYH+LIus+jNHQQIAAHCBQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBacTZD+/fhWVd9+/HPbvx+qqnr4nTha87Pa1EAwiUn9qXUvyIpp8/PXHfozb6bHW/unOkPEPZcg/a5abromueu279Sj3b4z2AnGMak/te4FWTGpPz9vum30Z65Mj7f2380FCdLfqvrxeRzJD9VNo8o/q5tf/+y/XzfVD+VoTd1m57EVDDOpP7XuBVkxbX7eVN//HgPYr6r6e1arQYrp8dbah7NE3DMJ0vfqP/ehbhFbVZ/N5t/qRjl65FcFQcqYSf2pdC/Ii0n9+bP63m7+Vz1sbCcYx+R4W3fm3QUJ0o1z9bNpkd++Ib5Xf6Kjx3Y7ts1ZmgeMY1J/Rt0LcmNSf36r3Hk1pmimTIy39cebm88LEqRA4/QPf/X5d/UzOlr/Oe7GaN8Do/ozsQnyA/1ZFmP78+64arpcQXrwF5//8lW/E6SHT4z2fTCqPxObID+m9OcvXILNnpH9+avef4mC9Ke5/nwTPGdXcf50V6ebSwKIXjtgXH/qmyA/JvTnn+94SCV7RvbnZ9OVlyhID83ikXjOGuGBPkgKQdoBE/oz2gT5Mbo/m2eIoUe5M7I/v9W3li5RkP60K8ZEA/1h60kIUv5M6U+5CfJjdH/+vXuovxv7uaFtYDoj+7N7bvLyBOnz5kZejSMf3dH4CMiTSf0pNkF+TOpP+w/X7DJnZH/+7a7jXZ4gfeseh9cbyB2Nj4A8mdSfYhPkx6T+tPhiWe6M7M+b7pmHixOku3DJ0u8LN9nuxB0GCFLuTOpP2b0gO6bNT1vfC/+2gVlgJiP787t7FPzSBCmMaO0xxGi8Q5AyZ1J/Qo+yZ+L8rMEczZix/VlRtjXxnIL0SUb0T/JFrR/R0Q4M9qyZ1J9K94K8mDw/azBHs2V8f16mIH3ekBEdXmXRfYeYHe3AYM+ZSf2pdS/Iign9eeNfHYTnJrNlery9rEt2v6sb+mZg97K/7vVJ4qhLs4llYA6T+lPtXpATU/rzh/96LNa9uTIj3l6UINWv7qPbP/zr0H8qR1sgSPkyqT/17gUZMak//91U3+vtP3d480amzIm3FyVI3+VVSvaDUdHRBghSvkzqT717QUZMm5/+B/rw0HemzIm3FyVI8W2z/8hP6uo31RC98mVSf+rdCzJi6vysf8L85juuw+bKnHh7UYIEAAAAcCBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEwKYYk5h0X7fbGgJAdkCQANiUlCA9pYQKgIsBcwCATUkJUnLlBMDFgDkAwKZAkABIgTkAwKZAkABIgTkAwKZAkABIgTkAwCY8H4y5eiLC83J/ffx8df9Wb5iO7tDt8ePh5VymAnAmIEgAbMD7VSs4106Q3q+dBpl7ywXpyx26fj+rzQBsDQQJgPX5qpziHDrV8TuOvHBBuvIHqvNaDcDGQJAAWJ+jDFVPR116cqpz/FC9fB0/vFzVyyZLLuXd1oe6I4ezWQzAGYAgAbA670e1aS+/vXSCdBSbt/bYV6dETpCOaauv9tCVywXAZQBBAmB1HtsbRTW30dN0QpAem0t4DUf1etzIQgByAIIEwOoc/HrIvjJBens6VEKQDuQ4rtmBywKCBMDqEBH6Mvyxb/8og9tPn3bAYw3gsoAgAbA6hq165GPfXJAM5xzmAnAmMN4BWB1FkNqF0NXh6QWCBEAHxjsAq1NFglQ/9v30TnZQQdreQACyAGMfgNU5GPPafXwbeuybPAABwIUBQQJgdR6NcT8He98KT1gHPcWPfd/HJQBwCUCQAFidL+O+XPRuvCC166A3+VDDm09bfw8JP2sOLgkIEgDrU6+Lnr7Iq4PqV3+/HvXpsdlRv5nB69ChTWvf60yvvcUCUBYQJAA2wD/k/dgK0gt7lO7Npai/dvRFvomEi3fgooAgAbAFnSL5n5+4d998rd+h+mzbe0nyK0rQI3BZQJAA2IQX8QN99bY5PDcvE2pe9/3k3vtd/0Bf5X+6D4DLAYIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggRAH08z8xltasmdcwsfyK/vVi0aZhNHAGiAIAHQw/XcGTImjs8uvD9/YveKgnSqIwC0YCAB0MPMKD6utFMLT+SftnuJmpdtJXC5YCAB0AMEaUxZECSwDBhIAPQAQRpTFgQJLAMGErhwjsH09daYq0e34+22Mubw0h5rEDlezW374dl0N/NvzSvPGGL087W5uv/qNuu6Dse6ntKFTzE85H85emBupc1v99fHT9ePX8yi7BwBwIFRBC4cY+7bgFq1292WOdhkqK26PQdz3fz9avLSjD6OX7f7nl0c7xJdpwufYLjPf9t9vme7nUGmeicW5ecIAA6MInDh1JH37bjGqEyzRno0Vb00eLlqVw9qnL03zy5r8/e5VgI1462pjkuO91vj4rg5vDZ1PSULn2R6+/dYy9OX/XqqGkVyu1+OBn31u5KLIwC0YCCBC8etBF7MlW3WCO0FLntl3mwi1L62C4rXY1iur3AdVw+vesZ3t/PaxXFX17VNFT7J9ObPmzHNEuhYHbW5taPxyZDUOToCQAsGEiiQ/9NR03axuIuqj6a7dXKMtfc2FWor89WkbVYU7YUuNeOjuzfz4uI4rUst/P/pJExv/twbd//rUbc5XduKjgAwHQwkcOH4YNp8IF/xbFZMeqhtL3VdVW2apzpwqxkP3dIlWqQsE8f97Z1uKXRcK0U2vz0dqnRtmTgCQAsGErhweGw1FJsKte/1laqvY/huAvVV/Y+aMeReU5BIMbzWl/ppOf/AgVZbJo4A0IKBBC6cOYJ0DN1f9sW82OfjCuO9W0hkJ0jNg3CHp7e+2vJwBIAWDCRw4UhBShzlPB7j9+0xlr+bw/HzYyrjWQXpyVRP70O15eEIAC0YSODCkfeQ3vSjnPpSV1U/YHZl2gtdehn4+FwAACAASURBVMbrze8hXYfdI56yy8URAFowkMCFw2PrfftVnvio4Bjtm/VE/YBafaFLz+gfTntdU5AST9n50p/7asvCEQBaMJDAhcNj65txTz2/dO9q0HM9mXYl8Wq674aqGd/J6x/iupYSpMT3kKpuqfPe85RdJo4A0IKBBC4cEVuPEffp6xiB79vgXh2j85eS68u9augY7dvjImNb2qO5ej0mfpIPurUfUoWPxeUPb2q4Jbvvu7rrJ+3ebUo1snAEgBYIErhwRGwNb4Br1gm3qbe0XXcvJr3tXgMnM/r7O83L5F7UOJ4sfCQ+v3uX3S3b3T3zXb1cNV9jTVSVgyMAtGAUgQtHCpJ9rb+9416RXcfaSsv23L0G7qX7KzO60uqXZD8dNyutrlThY/H567d9V7evYvf9VWvPa9/VxywcAaABggTAavi4/dW9+22vFOMIyBsIEgCrceVWHY/+Qbh9UowjIG8gSACsxlP7fMDbrX+D9k4pxhGQNxAkAIYwgvE5D12O6n096yZQjCOgUCBIAAwxP47blzqSXz+tZto0inEEFAoECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBZAkAAAAGRBVoJkVM5t1VI8XRlz/cJ2fVXGvE0r5e3+WIwsZz6ugc/b0KNrL2k8AAAkWU3vogXpuvXmmu67NeZ2WilPXaO8it3VTKuyE6R+TwoaDwCAiKymd8mCdDDmqdGTQ9j3Zkz1NamUV9coLNvL1exWykyQhjwpZzwAAGKymt4FC9Jbtxa6pdforhqRmsKhXmO9W8tl7IRWykyQhswoZjwAABTynN7lxZ377irbcYlz7/Ydl0tXE4upG+Zd3TvTrsxaGoIEwCWT5/QuL+5cu6ts4S5S/UTDazqHit4wECQAQAnkOb3LizveoeDZPbufNLoYCBIAoFDynN7lxZ1YkN7kowkji4EgAQAKJc/pLeMO22b34d9vjbl+dDu/7q+NqW7Zl3Rebq/ovvrp63D8xYRLaK88oahA8PpYP19grmld782+6vCs6EwsSNeDTzQIy+kzH7zksDcyWbPzyPOhLvktfqgh3Y5P1yLLkLlq7W3mt/vquPfpi++N/EtlBwCUSZ7Te7wgVfW/t93Go4tn4cs+71du31X7MMCzIY8V1JfNzHOb8NonfKMVuQoYb75UX27zAJ0jVprrzoEvZ9zz0BMNkeWjBSmYrNp5DPRVt+9eFySlHV9clseEKISqrt+jXdyH5jSgpnJCE4wn/iWzAwAKJc/pLeMO26axszmDrlc8TXgNAcxF0hdDaMLfVx0IfVl1mG3O098rmVBUQGGluq8SXdN991YQPWU39ERDbPlYQQomq3ay3fe0Md3f/nb0WZLmdhWptTemScdUQUpm72s1AMCeyXN6y7jDtmnsrJczX09uw9weT6Rfr0Oka2Tm+rXbWTWn2fUnJwWvPubWCevrUe9NvH23UQWEL5fYvjcvTmiujtUrr+rly5UgXwgkv4c09ESDZrnSMHIvM1m187hRfz68uZaKBSluxy9DrVFsaMusE9TLmkOylZryK3P14op64w6EstPZ+5oNALBn8pze4wXpi+x059t1pGsvsh38p+ZjEyjpNTt/xe4+5A63lVgFhMdQalPatav0LRyPlkj+TQ3ttTSjfZ+IJ48slw0RtYgwWbWzLa8z71oXpKgdb4MJIYs0tyuz6hpCr73JTQw5cAdC2ensSmsBAIogz+k9WpDu6U4Xtet1T3N/pj5v95fnqk4D6DW7qy58f5HcjTi9RRUQXK7Imm4Xvyro6NYWbTUHv17RUS2XDeHhguRNVu1k1jXLkEiQonbUsyTMfepM0Gtv2sBJsXdMEaR09th/AEAZ5Dm9RwsSe/zKbXy5FHVs9HH/0W2Etcy7O/OuT8H9HZ03l5BVMGTqcOL6MbXuLd0vLn43bwB/VtKqlo8TJN0Kn4YVrd5DitrxWc2SMFeVY6YoXjFrx56iw33GQ5AAKJk8p/doQXqnO99lioPUGX/Nro2edUB8dglZbYeoTJW3x2tXV/OM3f3INy9UXdTX3gBu05aPEyTFZGJnU7S/w/WqCVLUjrdqFmFu+mc0aO1MMb1jvYIjsyfrAQDsnDyn92hB6k/hn6Gr8Wfu9Yf2iWt/WYg8YNyhWUF5f74/VDTxe/tRfHlH57GLw9obwFt0y8cJUr+dja/+8Jf0VW1HPQvhSjVLq50JnncsITh6dq0iAEAJ5Dm9FxIkXozfuu6Cor9iRx84HiVI74cocfimjrnWvhlLc3f1q28A1xqgR3D6j2t26kX3NmrKmr5ds2pnh4ezAwDKIs/pva4guWt29d9nf2iCIPmvyFw/vpNEj2GhpT0L4Tl0x7U3gKsNMFeQVDs3E6QZtdPDI7IDAMoiz+m9riDVV4rqlVG9Uur7vmUq+jUPmlW3z29RojevSfFtIY9/ouEqfgO4XvVMQdLt3EqQ5tRODo/JDgAoizyn90KClLoT0yqR0yXLHqzuscLxSAVHJvp6bl8hlH5P3RVZl1n+wbPIPSTdTvY89ThBupLWaOZKo/TauWK6JMrhEdkBAIWR5/TuE6T33tjJNtizavXTYd3DA+21unDFrkkYP4yQin51fHY3fd6VRF+1JCVfVPfkA22PIKUsnyRIup3RA3zDgsQeontTbGAJOvnUazdGPLB3y2oNZaezx/4DAMogz+mtCRJ7E1uUSN2IvnLTbbRn5tchC30tQNoKbb+3pkpaw/kKgbZHkFKWTxIk1U7+dtnHUYLEvof0qNjgv1Bkg8rotRvp2DOrVffkRTkOACiPPKe3jDtX5Kz+MF6QUu87aL8bS0SoOQX3L6mOztt7rLtyG+TlQ36RoHEIchC9ATxwypsa+u1sLwA6dVff1BAV8CWtkTbU5roloWsIvXYji+KW6p5cKccBAOWR5/SWcae+BtbF7OZNmyMFKfVGuPblaFRBDqGCcLEoFf2uw3rg3lvzauK35yi8knjc85TdKe+y67ez/Xwtd/c36n2w5tZoNoR32Xkp1WtvPt0G++55RaHsdPbYfwBAGeQ5vWXcaa7ZXNcvqD6Y6KQ+zuE3mpVPeEs1+0Ymy9G8XLt+B/VX83WiQ1wmodHEOli+dG9aaMptfpwvvO478YqHK/K4Q8/3kFKW6yZdtZH9XRzX7WyfX2uKPoRW6G/UJsth6G3f9TvCn+uUz+na24++KPmsRvAknV1vWADA/slzekdxh/zYUHQfPs4RNpRfFWpoQzG5bcQSXitlUshvJ927l1t3bx1V6qI8sacd2st3T9r9q4TluknupwHlcdVO9ttP4+4hTfw9JPLa76j2pnn9/kpeiQyepLPrLQsA2D95Tu847rhv7VevEx77tvRnR6/omuUlUo3wA61eHpLRz0f06rkJoe2a550E2sQ77WrRoosh9gZwgWq5bpKzRx7X7SS+Jn4xVqlN+ZFZjk/gn1lQa28yu848RAu/4ElPdgBAoeQ5vZW483p7DFDXT3Y4doqNlzrjlXzFnImreLltflzuMXq3qEL95m5zqF8RVC/Y3N2n1/t6d1RX4FYuhsgbwGMUyxMmfd13v4snj+t2Hos+1N86fYsbM92OzySL+sTGS/3euet78tokpfa2yLb6oNqhIu9JX3YAQJlgeoOJpJZ0YzNjyAEAdBAdwCBMRfy3WU8vCgAAKIgOYJD6bo6/vua/zToLCBIAIAmiAxiEfA2MvDVhFhAkAEASRAcwSPOkffPsxVvz0Hf6xbGDQJAAAEkQHcAw94bS+2NPA0CQAABJEB3ACJ7D11Sr+TeQLAQJANADogMYxXPzLa2e71iNA4IEAEiC6AAAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyICdB+h8AAIBLIRaBrASp+/txViu2A36WBfwsC/i5NhCkrICfZQE/ywJ+rg0EKSvgZ1nAz7KAn2sDQcoK+FkW8LMs4OfaQJCyAn6WBfwsC/i5NhCkrICfZQE/ywJ+rg0EKSvgZ1nAz7KAn2sDQVqM+nfmTv2tuT34uQTwsyzgZ1lAkBLsSJD8D3qfUsgO/FwE+FkW8LMsIEgJ9iNIxiyhSPn7uQzwsyzgZ1lAkBJAkMoEfpYF/CwLCFICCFKZwM+ygJ9lAUFKsB9Bwj2kKcDPsoCfZQFBSrAjQcJTdhOAn2UBP8sCgpRgT4LUNNyJjbcLPxcAfpYF/CwLCFICCFKZwM+ygJ9lAUFKsC9BMhCkkcDPsoCfZQFBSgBBKhP4WRbwsywgSAkgSGUCP8sCfpYFBCkBBKlM4GdZwM+ygCAlgCCVCfwsC/hZFpckSD+r7sO/ytPu+P1w/PjwWzNvFwMBgjQa+FkW8LMsLkiQfjv5sX+EIN11G3eKebsYCBCk0cDPsoCfZXE5gvTbr4fsr+oXPfKzuvn1z/77dVP9CDshSGUCP8sCfpbFxQjSr3CBzj5Un/RQ1W3+rW7Czr0J0olvDtqHnwsAP8sCfpbFhQjS37uquvOCdHNDj/32C6Pv1R+/F4JUJvCzLOBnWVyIIB1XRz+tE6R/1Xd67Eflnmb4fUzkgCCVCfwsC/hZFpciSA+f1gvSn+q//x6q6ub732bzofrbpfpbPUTm7WIgnP6y7334uQDwsyzgZ1lciCD9q/9xgvTLP2PXXKu7qXwychMJglQm8LMs4GdZ7E2Qvh6vj7H3+mlOjU6QjqujX7VC/XloFKmqRIr/NXxszdGvE7LOzwwAAJfOLEF6rbofR63e5wvSjb9pdFdfrYsEqWHzFdLs33xd4vdicQZWGvCzLODn2swRpK/K/1x39TW5RiI3Hb/rxxvyEKTZquJbBL8YOwb4WRbwsyz2JUj3pnquhej9uTL3k2uMBam5abRvQTIQpEnAz7KAn2WxL0GqzFv36c3E6jKYWxGk465vWTzUAEHaBvhZFvCzLHYgSFV4goEE3RnxNyFImTz2ffIVOwjSGOBnWcDPstiBIBnjJcksvEL6rL7Vr7ILX4wNL7Pb/rHvE59pgCCNAn6WBfwsi10IkpekW1M914/XfT2dcg/ppvrX7fmvVqAgQ+GdDWf5HtJMRYEgTQF+lgX8LIsdCFKtPp0kvYXlwIznvp0g/fBvCPrWvLzOvVz1ky6h9iNI7ddiT1UkDPiygJ9lAT/XZspDDY0kmfsv++K/h/QyvUb/Lrub6mctQX/u2l9A+uF/fiK8yg6CVCjwsyzgZ1nsQ5CCJH091W9qODxO/xYSuYf0edO9Oqh7yWomP9AHQdoA+FkW8LMs9iJIZJU0G3JF7tddeLnqkf+y+AnzUwXppMox4MsCfpYF/Fyb6d9Der46VZImsC9BshCkkcDPsoCfZbEnQbL2pZGk27ehdAuwH0GqfwzphOwdGPBlAT/LAn6uzQRBIq/4biXpsL4kQZDKBH6WBfwsiz0IEn/F90aSBEEqE/hZFvCzLHYgSNErvl+uG0la1ToIUqHAz7KAn2WxA0FSXvH9djj1Hv4gEKQygZ9lAT/LYgeCpL7i+yhJaxgVgCCVCfwsC/hZFjsQpMQrvle+iQRBKhP4WRbwsyx2IUinvOJ7LhCkMoGfZQE/y2IHguRf8T3rZ2LnAkEqE/hZFvCzLHYgSKe94nsu+QuSe64DgjQF+FkW8LMsdiBIp73iey7ZC5J/fR0EaQrwsyzgZ1nsQZCsPeEV33PJXZDCC74hSFOAn2UBP8tiH4J0BnIWpFqIIkHCz0+MAn6WBfwsCwhSgqwEif+6hCFYJ0in/gAFBnxZwM+ygJ9rA0GSJN3nv78n9KgVpJN/og8DvizgZ1nAz7WBIElS7jP5CfLEnrKDII0EfpYF/CwLCFKC/AXJ+m0I0njgZ1nAz7KAICXIV5D87SIqSLiHNBL4WRbwsywgSAkyEqRo+eNuHrVHLJ6ymwD8LAv4WRYQpAT/+9gckz5SE6U03X7TbqezAwAA6CN3Qer+5rBCst0iSKQMl/LwxdjRwM+ygJ9lgRVSAghSmcDPsoCfZQFBSrA/QTqt+TDgywJ+7h96W7hkPykQpAQ5C5L7ApKFIE0GfpZFwX6yJ5kK9pMBQUqwC0GyEKSpwM+yKNdP/mxtuX5yIEgJ9iFIFoI0EfhZFuX6CUHaltMEqe6q6nbF30faXpD6vkfUv0IyEKTRwM+yKNdPCNK2nCxIT/dXK/6kOQSpTOBnWRTsJ+4hbcrJgnT89/liBMlAkJYBfpZFyX7iKbstwT0kQY8gGb5E2ss9pBPfZrQKmNhlUbSfZPoU7ScBgpQAgnQyp77vdRUwscuiaD8hSBsCQRLMEyQbbjBlJkgn/yLGKmBil0XRfkKQNmSiIN2v+Uidwj4Eybij3fZ8IEhlAT8LAIK0IRMF6Wrj0AZBOhUI0jmBnwUAQdqQiYK0dWiDIJ1MjnqEiV0YRfsJQdoQrJAExQkSnrI7I/CzACBIGzJRkF7Nit+CVdihIJ2kSKv4mZ8eYWIXRtF+7leQ4nPRkWenuxEk+34wh+e3tayJyEuQ+MUvCNJ8djaxZwM/C2C3ghRfrR97/X43gmQiVrOsIT9BMjJl+GU+CNJo9jWx5wM/C2CvgsTeH2OM2NMLBClBToIkPPb3jIQgNSnmNgwEqSzgZwHsUpB4hO4+QJBOJUdB6rwmAkS3T2sZCFJZwM8C2I8gkdNlHqu6T+UJ0tbkKkhGCJLfPlGrIUhlAT8LYDeCFKKOiEIhaI2MSxCkBGcVJNl3XJG4IBkI0hTyntjLAT8LYC+CFCuQ0Cdb4FN2p/Oz8h9/P1RV9fA7sVlzTkGKRMVI6F4I0hSyntgLAj8LYL+C5E0n4WpUURckSL8rL0h3VcudusnM21qQVFUxUpMsSbr2PaSZBTZZ52Zcj6wn9oLAzwLYoSD5pxjIse7DqKJ2JUjvj4eqce/2dXp9Rz1ygvSzuvn1z/77dVP9UDa5eRsLkr7MaR9d0K/PTnnKrudg0s/ZEmchSGcEfhbAXgSJBYnuCl04Jv72sydBOpDrkZPf2vCrCoJUVZ/N37/VjbLJzdtWkBLX3VwPK4Jk5feQ+vUoqS0pP09YdEGQzgj8LIDdCBI71RVhqFRBeq9CbDRTFenvXVXdOUH67VdC36s/0aYw72yCxA5Z381MkJQvxg5+vTZxHIJUFvCzAPYjSOzNZny7VEG6NubqpVPil+OfSW8ROq6OflonSD8q9/jC7+NeuSnMO5cg8UM2dDNbIXVHIUijyX1iLwX8LIASBMkUKkhHDbqyPgjfT1wiVQ+f1gvSQ/W32/23eog2hXknN9DoaB7uIUUtQQWpKXA7QcI9pH0CPwsAgrQhEwXpYEz9k7FdcHxv5Wk0/+p/nCDdhMe/67tGYlOYd2oDjY/ndNnTJ0jWCZYXJNrlA880TL6HhKfs9gn8LID9CpIpXpDkZaoZUdIJUlWxXWJTmHdiA0244kUf119HkGY9ZXeKrECQzgb8LIACBMlAkJKMFaT/NXwsQidI45K2f/w/5BDbb9xfl8OwZH2VjTJkYqYe92ZVBwBo2NH8Mfyjiwkk+uXuzEmC9GVM1ZP4NEFqOP8KSZxbjFghtUd6WzF5ZPYKqc8/rJDOBvwsgN2vkGj4K2yFdMvuIT0Zczu5xnMI0uR7SPxpOst25ShIvYo7/+7TauQ+sZcCfhYABGlDpj9lV325IFw/9v0yuUYnN9/4UwzfVn2oYeJTdl5zoq40Po1xN5UgSNPJfWIvBfwsAAjShsz4HlLVfg/p7f747/X0Gs/z2Pfo61ZMfQwEaR1yn9hLAT8LYKeCRC/uiOs8g+xHkL6uDKF6n16jE6Sf5JuwP6JNYV5+gtRpki5Ipv+NdlvfQ4IgnQv4WQD7F6Ryn7KzzW0kx+FrRo3xq4OalzSITWHeZoLE1cck7iFxQXI5SRmBabbMf+y755okBOlswM8C2KUgifBTsCB1b/s2h8dJrw3yRC9X/Wz3iE1u3laC5DsxCI/2lB0VpOihBmMGFKlHIE74HlL6OATpbMDPAoAgbcj2P9Dn9eaH/72Jn8omN28jQQq9yO4VkRJUQQqJbaRH5xek/vtZ5yH3ib0U8LMAdi5I7d0DfyFnVDkXKUjb/kDfSoJE+50WAUHqJfeJvRTwswB2KUj+HlL7B4KUhFyR+4//Zvl/a/6E+RRBMpogCaGKBMnqgqTWkjQAglQW8LMAdi1IPg6VKUjXz3OeY5jPWe4h+e6jgiSFaliQkg8aQJCyn9hLAT8LYKeC1D4AXLggHT3bVJPO8ZQdkZggSJFQRfeQmHL5H+3T60hWD0EqC/hZABCkDZkuSJtq0jm+h9QrSJ0IWfJZfuWMLqUSVSRrhyCVBfwsgF0LUuH3kN6frzfVpFwFKZx0kOdawgcI0gC5T+ylgJ8FsG9BKv4pu6/ng9OkdUyinFWQmOKEnfy63nRBStxZaoAglQX8LICdC5INscyWKEg1L93rGm6nv1t1GmcQJMsFSb5942RBCjedFCBIZQE/CwCCtCGzH/t+va96Q+synE+QjBQkd+3OniZI5IqgAgSpLOBnAUCQNuSU7yE9XbggzbqHtJYg9bzKDoJ0NuBnAexSkEz7jJ3bWb4gvdwWsUKKPBgnSOQpu7iG3ARp9V6aTu4TeyngZwFAkDZkliB9lXAPyYRnInm6xD0kLkjtIaMLkheqDe8h9QtSboqU+8ReCvhZABCkDZnzlN31Rmpk1xQkQ+DpxgpSuGwna0gLknGLqwTjBEkrIVlo/5LsTOQ+sZcCfhZAJoI0YhIbdlZ8CYL0/tip0WEDNbIrCpLpEyRr7LAgRZlHCFKnYScKkiowEKQcgZ8FkIcgjZnFPYJkyFcrh9mNILXBrYA3NQwLUrf8CX18uiCpFTLGCJJeBgQpR+BnAdCZdz4jxkzjfkFyoWsEexKkMt5ll9IjL0jGrWbMzgUJ95DOCPwsAB8AzjmRThMkn7s0QSrnbd++g6RoMEGig+D0e0jnE6R0seeh6ABGgJ8F4O6+nPVSwyxBMsUL0tas/ZSdIlSxILHbgUGQrBgia99D4oqUPKxJbLrUM1F0ACPAzwLIQpCm30Py0QuCtBxrfg/JqPtHCZJ76oENEn6pWRUkOzQoRglS71N28biFIJ0P+FkAeQjS5KfsWPwKf0fVtStBertvnrQ73L+tYhFjD4LEL+n5ZZBVe39gUIwTJK2LusPKrIEgnQ/4WQDpc72N7RiRok+Q2t2jqtqRIH0dgqOH95Ws8pxLkNzXhWLBGRQkNgrUStcQJNMnSPkpUtEBjAA/CyB9NXxjO0akSAqSC1+lCdJ7RT2t1lakMwqSXVmQ1NE9V5C8HRCkrICf+4dG+bP6eYIg+RhQnCDVV+vuX+tPr/fHj9frWOVZXpA0geHpmCCRPh55D2mkIOnr/5mCRGQoLheCdD7g5/7ZqyBZXZBGLfN2I0gvR3de1I11+N/HUpjuTw3Z4zZIOlP/Z9pDpvkfLcF8hL1dQl5DV4XRCv/wu7uhMsUBkjgympQWlWriXQCANIZPNhM+npPh2qmpzWcXF4wPX1PDztZMFKSDMU9h68mYw+IaxFh6hUSvaKk3+YylK6Qmbc8KieWnq+XkzSK3W7m0VnP6Cil1MF3wOSj5jJoCP/cInzD7XSFZ676MZLQA2MNuVkhHX8g3Y79WD3QLCpK8xaI/dcIEycwTpJBuK0HyX3AyykGlqrMLVFkBLA383CFiwkCQtmS6IPVsLs/6ghTrSHjKjvceESTjQr/pFyRFOdxefWSc9JSd8YNPHhI1nX/JVFQA6wF+7hAI0q4EadcrJBKLBwSJEA7Z5QRJHxppP1lZSqsHawcFaeSgXJOiAlgP8HOHlC9IgwXtRpB2fA/J3WEJH5p/ZwiS370nQYqTJqvagKICWA/wc4/w6VGeIA1XtRtBip6ye17BJsIaKySyI+6eWJDie0ghoLPwn60gWQjSuYCfu4RfUMhGkAan7BhBGqFrOxIke2XY95Cu1rHKs8o9JL9DCczxPaS1BEk9WTlFkJL3kKKazq5HpQWwJPBzn7DZkq8gxdGLXmi8CEHa75sa/M0fF7fJZ5LMC1KrSlYRpBDQTxYkefgkQep/yk4oEvlzBkoLYCng5z7ZhyAp0eviBMm+03fZrf7jSKsJEsWS0GxcaA+SoguSK/QEQVJa+jRB6q4FRkeEIAU5PZsilRbAUsDPvRGf1GUrSMqJ5gUKkrVvj40mHR739bZv+ahCtFpqk40SJHteQdJkZLwgERE+myKVE8D6gZ87wwUEumv3gmTKFqQtWVKQBvTIPXU3TZBooBcV6oJkVhQk74LMGemR8HpziglgA8DPfeHmRDGCRIKcKwOCdAJ5CBLt+ViQuGCFCtOC1N2jWlmQ2KKPX7CDIG0E/NwXuxKkMfeQIkEa8ayehSAlWUOQqDZZF6/7BIkkVgWpa7BIkLRwb3yJywuSYYJEXWL3n4LnZ9OjYgLYEPBzX+xLkEY8ZVe+IL3dX4n1xZqsIkjhroqL1UxvOkFqg7nhOacIkto8VA8XFiSisNG2kSndp2R961JKABsCfu4MFr27XXMEaY2ppRQZnwSTjyZcri9XkF6MYC3DWhYXJH/znwmS9pTdMoIUr7LJQwYrCFIYeUlBskmTt6OYADYA/Nwb9KSu2zNDkFYJjYOCRCs1PlJ1MaFMQXqTerQjQeru3IQYTQQp3HgZJ0gs6oesvMJBQYqbehNBCmVBkFYGfu4Oetm72zFZkNaJjUqJ0YlmLEg2/GfLhVc+LAAAIABJREFUE6T67QxPa38blrDs95CM5YJEr3C5ZD2C5BO67jViCPD6koJkmVYwpguSL8rV51c/QkK1siBIKwM/d0e2gqSGk2SlFyJIFXu56vqsKUh8QeGSuZQmCBITHiJIYoSogqSY0WqcohN2hiCFdVH4EA5Ri7WyIEgrAz93R66CpJZ58YJk2M9PrM/qghS+FGTdXypIpD8jQZIj5ByCFFZv7logPcgs1sqCIK0M/NwdSwjSGveQIEgaizfzAPsVpJ6n7GJBcmucMYLEimWCJC2CIJ0d+Lk7FhGkFQLloCCddA9JlLwbQbouRpBCJG8Pu2QugAtBopfseAmhBlmhMXFbqoLkZeU44FMj2RuaFiQjLKKqY7SyIEhrAz93xzKCtMLU0k5w46sy4cgUQZJl70aQnsjPIW3BioLkOmGWIBm/ICE1iArDKOBmBEEy7kaVQLXf0rSkPCerkSCZUFFCkDY+uyAUFMB6gZ/bc+LiZDlBWnqVpF1wkZvzBCmKO7sRJFut/5MTlDUFKfmUnR0UJKdlhg9cXuGgILlBEAmSeg6jC1KQVUPEyVflE0eCZEziZGkTcgpgawI/Nyd5Sjc2v//H75gnSKcaEhcZlwZBej8q0kLPff+rPO2O3w/Hjw+/NfNWEiRrfUexBdCAIOmyMUaQui8/GXaB7SRBYiNPCBJJLAUpXdEmZBTAVgV+bs3JA3spQVp+hkGQlGNjYudI/ghBuus27hTz9ihI2qJdkSCrtKpmvzdUpEgJEi8NgnQW4OfWZClIy8y0GYLkwt6AIO33HtKSgvSr+kU3f1Y3v/7Zf79uqh+xeWsLEr3Nv5wgxal0QQolfiTbVC58xAEjDZM1iLIgSJsAP7cmR0FaaKqtKEhSMi9SkB6qT7pZdZt/q5vYvIwEyahKY+PBobSQ2yPbz6+mPvzjEnHpRpRr6AFnpDsQSZ4oC4K0Os0JxrmN2IiM/Dx1XC8lSMGQpeZajyD5WT5XkET02o0gLcnNDd367RdG36s/fu+6gtQdsZEgEamwbGy5Q9r4miVIwTjbChKvnpYeCZIhB9KCFM8wCNIYTm2dpn134Oci5OTniR23mCB5Q9YXJD/rIUjz+Vd9p5s/Kvc0w+/qp997HkEiCwsTdnTFJAfXHEHyey0RJLUO45LFF+OEIFlDa1JmmMVTdsOcGkPOrPgbk1V/nngiQYtop9BMQUpdZJ9tWbCD3ECgFVyeIN3fLvY1pD/Vf/89VNXN97/N5kP1tzvwt3qIzFtWkAztoliQxDrDRe+umPGCNHgPyVk0XpD44icSJOsFyYYKdEFa6sL2PLIKYBonBxEI0tlYTpDIGV67PUuQFr+HRM5liZkXKUhXy02xX/4Zu+Za3U3lj5CbSIv+HlKfIJEeDtHef5opSPHVAyFIxhD5GRCkWMQUQWp10GdIChJbBp6BrAKYBgRpEln152KC5KepPzZPkE6+/OtK8aWFyc92XJ4gLTjFjqujX/+Of/88NIpUEUFqPv6v4WMh2i5rPnT/b/5rDrnD3YYL/eRT839SkF6FrFHb2fzvIxRrQh1dWqPXQayi7nx0+Yz/wCz9CKm6XcJJ3RVweuugdc/Faa1Opm2Ymt0hVnJ/9xpmyCIDwdAQxMKLD26hou5jCHU+WhhaIkmfB+dbId34m0Z39dW6SJAalloh0eWFsf7GUHuMnnOwxYML2v56X1dUog5ZpbaTXi6jetQd+PALoIQHboVELyM7u90pET2RssFJcnGQXPcb34ZLktUZtcrpjVPnz9/PZcjKz9VWSOwhlYEBwlZIJ5rkayQ1+5nsdrXVTFohURd2ukJ6NeZ+cRt+1483bC5IvjdiQeK3a+wagkSM8pYFQVL6wFA5sdSeYLQr1LLSvXGsES5BkE5y7/S2MZkF6hXJys9FBImckaqCNDR9aMhYWJDEySmpYJogMRd2Kkj2/WAOz28LG1HfNDqPIPH1gqU958J7WFL5ohJ1yCq1nYog+bs9IwTJHXMLJWPCcCMSSkpXBOn8erTNgD/RwZPbBoJ0HpYQJBcu3KWL9tCZBcmKmc30h6YIH8cKkvBkN4JkIpYwolagb+s+1NAvSCF2CUEKeVcQJLLmiQQpqiNMjCBIzCnhFR221EnjHsYrXpBO9RCCNJ6s/FxMkHy8cIeyECQafOcIEo1kECSVWpBWfuy77T4X+Wnodv/4aK8LEl0vJ6qQNWo7bfLS73RB4rNGChJXnTCUSU4IUm/+kw3ILFCvSFZ+biJIg/eQthEkbxpNwRKnBYm6AEEifFbf6lfZhS/GhpfZLSdIXch2guRvybgzDa8NiwmSlloIkiV1biBI1n0+tx5BkAojKz+3ESQlEBgWNGYIUv9wjQTJ6oLkzjqdGe6E16VgkY2YS9iNIC3ITfWv+/RfrUBBhsI7G1YVpLA0EoF7SUGSITESJDdu+VN2swWJnfRY7lfYZ+mRs3Cx95DO2OZr8pGTZxPtiM4ZrZsfVgqSjVPygugNmumC1D9gSWgK5imC5E+xnRlpQbLMXMIlCtIP/4agb83L69zLVT/JMw3LCpK7gWP5HSGmSMsKksvJRIIkdWNnniCRe1BekMLFR0uWgUGQwkhmwrg1O3jKTumDqQXEfp71LGBFPnLybJoZ8Tmj7U7cuq2xgiTDBBOkMTYNnCQaMYsTKyR/EII0jX831c9agv7ctb+A9MP//ER4lV1WghRGQ6oKtiXXXy4NXa/QevsFKQwxp19O8KybPtHg9OuhqEavXsMNtw4bDfiT/FtBkAZCzn75yMmzSVZEhgcd8h9yEyQ5jW2wFoI0n8+b7tVB3UtWV/2BvpQgyWt2fYLkDowRpG5MsMJ9DZEgedtSgkSGGBUk6y8as7ng/jU+HQRpRmYI0mhWFaSp5S4oSORujN2XINFA4i7CuBSKWXsVJBNxSuW/7sLLVY/8t+JPmLed5wWJDhzmiyJIRFncZqoKS/LEitQjSKZfkFhjzxIk7xUEaXRmCNJo1hSkyQUvIUjGXZOgEfyEe0ijbOr3NGhMiGDJe0jxCgmCtAQrChJXJHbNuN3Nji8lSGRs8LJPECTRF9QTXZBCBcLmwWZciksQJBML0vTguhNWvIc0Pc5MXE+J0l0EJ9MyzLxeQWIzaI4g9cQWw0JXCFeKILFoAUFallUESZjuO9ul6/b6o+MEie0fKUj8op01swRJ9IX7qAuSTQrSprFyH4J0WnNogrSp6m/Iik/ZrS1I0nA3vYIghak/IEg01IdI0tYx0pakie2cJlN9pCCR3e5jSYJEeH+qqsV+HCnFFoJkXfQOn60uSG6HWgGfNdEI0gXJjzUiSOGcRhbHBYlOFzIC6ZahguTSUwsMr2GzaLkDQTq5OVRBOk0js6X2cyXPVhcky+a1IdOLzTB7PkEKIrS9IG0XE1pOeajhvTKPS9qisIIgCX2x4wQpdIzeQ9G0ofrARFAKku0SWCZIspYgSMbncnb5T8SQWJBIwmCB4YZCkELWCe2RGhKqII0NTbtaSq0oSNPPDGYJEpkykwUpxAZybAVBCnO4V5Do6euAIPnPKUHaMig0nPSU3ZMxS79nVbCmILFjLjZHghR1yUhB4sn7BMmSeUAFybC6/EhKCJKzmA/aYUEKEzFvQZpl2zaClOz5EwRp80BwGmsK0piuN+SUcXK7seHvlWe8IIW+WleQGFKQXGwIp7NLCNK2UaHmJEH6MuZ2QVsUVhQkfozEZjmsIz2aJEhsvI8TJDHyXDpVkAyVFGqJrEsMZbHXfRxsx4X4mFrXPOs2EaRUylMEaftAcBqrCpKbQT0J6GRZRpDk/d82oSZILIGlSScLUiqZjAluFuuC1J2GXqAgrX9dYb17SOIYic3ReZa4EpeQnWTHcUHyQkHyuTpqQYofhAg26oLEimB1TRKkLS8STR7mMyfGKQ6NrjFl22xBEl2/LOuU+jHKsbmYvullWby2ZxYkb8SiguRWgNQeXwvJeemC9LW6rRsKkqU9nRKkng5KtoUb4ezCNCvQaYpxj89GUyElSNZlNtTMMDddejZnE4K04imugNU6JcfkiqZmmFNlKuFcQZJdvygrFbuyIA20B2+xWYLErzPMFiT/ebQgMa96kpH45GpYUZC8VSuNlzSn3kO6WtAWhXUESbS/eDYljs6jBKmvarEIk9JBhlpCkFq7DB9XbXIyULmZoWo+mMmFBXJKZ6d0/GkMxZd0lsk1Tc0wq8pEun5BShYten5Z1ip4/4IkLlXImdgl5IIUBe2Q2keakDQxSAybtz02sjk8LEgh1XRBokFhWz06RZDeH80aP2jOWFqQXOBOC5Ifnzyz+zRjQvsRPiRIOiFZJEg2JUh+QrgzKZckDNYwgn2+LAQpvXvGzFhJkORuPVmvILEgptW7TiBYq+RVBWm4RfhkmdrtrEd0QXIJVUES6wmjC5LqgPCrX5DcaWmwukeQvB0+2XhBEk5vyqlfjP1azbKGFQQpDLtwrF+Q6ECaMZ8nCpIl/xqeSxUkkk/41O0mvrGS/WnWuQQpeSxxYE5N0/NIU+KKYxsTFqcFifSALMz31QmmJ+lp+RFZ0we3EaTeJHTVP7F8UkmnJNMEKYR1352RIOkuiL0DgsTOH8cIkrvK7w5GghRKK0SQ1v5m7LKCFEaFIkhkLFlrRa9pfTihaqEERhmp4YihiUUKS8cVKzH2ieZR8bYRQzeBN0F8RD80q6IZmagtqvrENs4XJK2w7sgJpqdJNu9wrr6MmwhSbxrrW+wkQTJUkKSOjBAkJxhckEzKB7H3HIKkqLhwelNOEaSr+5W/hbSRIFkStG0kSNFIWkSQWPFcqkx3nmbEEoiaFwmStCs6puBtI4ZugzI1w4HEsa0FyUhVD4VGNi4qSJYOw8VxtU7M09MxNVvcQxpIspQgGS9IkY6ME6SQdFiQorPdHhulILXBguY03oQQTEKxsSARm7hr1Kq8BWlrthMkHqT7BGnOeG8Hh5QDXzk97s7Mo0w0UImrdaGgUCmvKq7fBNvm+XUKqaCRmLZtlsVqGZlZXdKeLEhiOa45HOLHChhrk22cyKG1Amd9QRpoj5MFiYcHPxeZGPYKkp9hISkVpFSji6HVY2M7+cl0p62iC5IXW+9mQpBC60VWQZAomwkSPcTjQTwV5wqSG0O8QHaC5EauIkhuPowWJLFG4vHVz5to2b8JyaCRDnvTjCMNNjVXqC9ur4SNUwTJjS/XA4rDw4KUaqQRRANwOIfWCJy1v4ckA2acZL4gsQjvZ1o3V92k1EpmQTuaWFKQUn3GZu2gIPkaRI9EgsROX/sFyQecwIcWnjZhtCCdMAVOYAVBsv2CRAK4Pyp8nydIQWr43B4QJHImFAQpWCrHZKiUThLWAKzy8wlSWpFSWaaU3zXatEqipjFKk2nZJwoSExzFFmMHOqNXHAY4RZCSSQoQJHZSGsV7rWQ6VuRIMSz0k1NJmj068RgpSOQT85kJEjFcCpKrmdkMQRrD5iskrX+k63MFiYQgpkIkZSRI7syKCVIXbsVlgFiQ2ABWA0uOgpTMwlL12ur9lKnIZE7mCvWJIZG2cbwgsQ5JZR4SpNii8ZjpgiSjs4IQpDnG9eQZK0iqbIyo2GcLk1+4PCRI0UgZFqRoHNi+Tk8KErXMzXMrDA+CFHyLjHbS1iSGICVYR5BkOFS6p29QzxIkMX555T4lFSRqih/k7GzMn+vIgsLcITPEuhwkExu+ZxEkOa5GCdJQQJWzzFUUWk3LH8cgEWVCsh7bmCdZCtLkBdbgjBCCNMe6vjyGnfQnss8XJDK7ujGzpiC5BDLQxGGJTo5IkKyszoTzVVazN7Sb6NzWMBtYvIAgJVhSkJInvL6jaCcvLUg9awJiBllRM1NSgsS9YIWKgG/ctGbe+wEaFbAuvjWUvkhmIWkGQp7SQCYilct9tLRHRKq0bdyTPAVp4mQenhFckOaY15vnbILE43qfIJHx5ZOy7H4S8+ntm1VrALKHCRLNIErrE6TOJTEL2FRxGxCkBCutkCI9Cv0exQu1rIl1D0w3aoYcY2562JmCRA9rgiSq2aiTDZskXDaSWViqflNd88ggKYZAaiCEQdCFkkjYYndIN/qd7bhlyUMdimNkT19YHXS/B1H5qBxhZKbS5CBI/iR/FUEK4yl0MIvafvL6QkPyMIrCbAsfqP9sDhtaXhAkYhIZyH7I9gtSPAvcH1qlF6TZ42wulyNIYVaJkS/7fXDKThYkpdK4ODFMqDb6IeNGXOdKjyDF87eb09wQNjDVk/91SAhSXytNEiRLGoxmEU0sSzHCqlGCxLuXjqVWkOIW7w77toiMt71hddj7HsYLEvPI9I+ODATJT4eFBImV5NuAdTA5CbGWZLdEkMJQ4oJEZreoQG0TL0isUXzhpFgnSS6VrCKILbUkIUinjLR55C5IHwvheuOj+zc+1H4Oe3vKmll3Ip8RqbqUranUwNZs0+5pE6TNiiozXXpmB62x38plcbbzKvsMMFGXDdXw8UH62Uj06gy3w7SG0vESZUqW2eUSGXxZZI9ie4+Dp3WTs40Wl66G1DdUrTFx1glW9U2QthOGGsQlMBMnqOunbsq5D6wkMgV5V3sLXa99BCNYctOmIrb65uUV6I1i3MQXzcJGnbeZGB5VwQ3wR+jQd/lOHGqzyF2Qur+nr5A6/LlzdKj9HPb2lDWzbr0FTTjfYgndWRc5s3ErpG65IwrkpUd1SbdlpdricTX0e0h9BqhLmd4a+Lky95FuxLWEsdKdnEfXC8Um7TV/vFshiVrCzT1qqbS9ryNO6ya5QorLih1JtVbgI2qjiUb1OzwwMmgHnLBCchfmjFuPaSukMDZolS51tEIiQ8nSdjUhJZsIcpSbMFrECsk1C20CZzPLJ1dIITFfF/k6rX+o4bShNospgqSyjXkLClK7GR2S+5cUJNvTWnRUs1btFSQ1mPYaGQ93Wec2Peqs4xOAWZPKwTcHa6Dz0qYHMBsKtMGtJSGFJjI8LIhe88kVQaKdEGJdbHtvT5zWTeQykV5Ytx2b3dc5cnQtqUdEkLQksisnt40mSKH740rUBrJOg4YEKdZPMv2jSUwDVixIXtTcOYOzmZTuzaNhiNhkrWj+5i8EacC8xe4h+c1whPpBJ2pPWbPqVltLDE2STgqSG4HsPCttlqhKN+Asfdpalz43SObgm4M1yOI63/qcNbIPNEFSFkyyE30yfg+pM4B7MFmQFIsmMCRIbgfzSWnNyKBBQRpyaBlB8smi1EnruSCxsrRKaEVMkAwTJGtGCRIfHdFsCE2gCxI5P2XRwhfvzfNCRVwYEqS+CbkSlyNI/FycHKF+sDOinrIm1p2+5iAGQ7clBEmoUELg+gQp0V/n6VSbFKSe09sZgqS3LW2LqD2SgmR4KmGyqMc5Ip6yYwnJyW1s+0A3nNJHYwWJVuJv9PeGBk2QjKhJy7uoIGnm6/Vz74YEiU8VWWBSkIhhfPndtRgtUO2J0ATeSnqcVjdNkEIuEQGZIPWcRazExdxDSm6KMRbtGyxrRN3aBIlrDwZ4+XTTQg5lo1g4TpDiSRrNDppopW6ngiScGCVIw1aNEqR0K7nmNyx5KJrn4ic7oUW7cWv4Ae5P7LHriz7n5gtSOFe3son4HmFrus7gLqklHEnVRBKox6jJem5WsjG0z6MMysDmPdE1C+t+1uV8aDhB6D527eN1wxguSL6BjErKQCoTowRJWpkSJJKrV5DSE3IlIEh0aPpu7J0hswQpdfLPK/pwY8eE4dYjSD1mjRIkEhCUGRdZR7ON8LsH8qDAxoJENUa0Uty4hus0KZrn0wXJzBek1GgJjbGIIPUMCcsGx2RBiqaRVhU7SUi7lLq+QIvu/g2dLHNoA9sLQajFVxa8aA8qghSGgRMk1wrCCtpAZIsXyNpCGuzniyJIvmRlDRQJkhUHfc3kk/VxyJW6IRAkPrDF4BhT1oi6WWfLo3TvB6ufjbeTBEk5z/e7nQm8YppLMfnE0dAjSErztk0wWZC4nT4osLhlo+6nDWXiuKHYyAWJpWeCRM8yegXJrczSzs0PE1SQ1CGht4ftsyguZ1iQ3MBzLZ3oU9dlise+PL4YMaJk3USekKUIlc0RJHbC40WK5HNHpHYIB3RBki7xJmSFesO5ILkmdQfZ6Rlt0uC40i3rAUEiO+WoGVfWiLqVGZJIykaZyBbGmjvYY1ZKkOReUmlIJ3JpRo4ZDulEJIYPC5Jzmucfqlt2oi9FCJIeEVzLRHEittEMCRI7ZnsFqesII/ohbpG5YcJ0/wmPZRrpSHdGkO5OUZB2kq/0BmlpvU9d3bL/WeFyJUIHtaguyi0yGD9Cgheu2eQ4CMPAryB5oX54DQpSjyKFGuSIbj+zZhC5XF9yQfK7pSBRWyBIOucSpP7z08l1jxWkaERHghQ0JDLEiJK0kpWdodLOVmXaDheV9EY/8kHnoXAiJaVMBIY6gag2D45SkGQAYNV17S0s6BUkWsAYQWKOeaMGhouzvL8N1Jy6IMk+EEe9VUl7ZBMF54TzStnOrrj0UHdcOeklrevU6mR2q3Q/EaRQpQlt7stxwyAY6EsgdtPe5CrNUqttQtpTGRSRA1TliOFTBalrA99nECTCpoLUE0FHZO5LP1mQxHxx40eMj7QgRXVp1RuJ7UatjJB6rn5XlCrJXPogNfYLkpikPtlQS8oTUDHb5CykVXUSYztBikwYKUh2jCAxx6iFvW3sjepvBGXSMkFKNq486FstXY9oolBGVK6WwSwpSFHjKT76vgil0MafIEihs0nHE+fIelcKEm9/I7DBjtGCxFvVeTBGkOSMIbZG3bImECS2e5STswRplNqR0UBnFj3fTMxwvhWl7JcWMgxlznSmpAcpI8gWESQRaKQgiSkakk0SJDHdE4LEfHOTWGiSYqPRBMmOEyTuWGxfyjulp2zcWXERRkR3rW01QQqnSCmDRAuJyBf8VtN3wTRVrCpIltYWwmo0a5JDlp6FWNr4ZlCQyLkbzeWNJWYQLYkFiSuXQq8g0RKsMuS9BwlBEubwXolHJ2n3qKOW4zIF6TRnJuZ1fTqmUnVwuIxyfIgC+wVJO1uWcykazr5UMg30Ucrt14xgnowVpIRRMwRJzDbyOTbZhYsgSCwa9AqSJfkHBUk4lu4F6V0cdX3NqQ7wvrJG16TPCxKx7yRBcob1Z9BKp/2lKVI3u7oPlnaUtzZqTlen4YeZpiQFiUbwqL+6/S5DKNf1N+2VMYLkjDZkvASb/Lhmax3ufPB0WJCYwNJjUZfEPbUUowXpPKwjSCe26bSskypzT9nJ0RlKiiIf2eR1DtfqEqWmgRVRiRSdPGshx3g65km4h2QsT6UJa1yni1Fp1wYEicbaSDSNj+u9gmTCiYaPYKTUIEiWtEhQJXHFRvE3dfKhXpxJlka1yO2IRIe3HT9GWy/d3LS/uSDF3vCm9u2sFUxPH+Jag2IpDZMQJNEG3A5X3KAgqXIUMkmB0QTJ6SyxRyvaO2bFJPeSZpcSJNLU6ikPTb8SlyhIJ7bptKzTKuv85GNLnMvpBfNaRtYZxq0+t/iBYYdim+QhL0g+nMvTPhvniWeGFke5JXS287lmZIQN6hLVZ9w0VgQpbPr0NEVKkEjKZONGLnNnBwWJj5e4TCZIckCHSK0IEq+S5yFuhGBH88osYW9SkKxoezaooqA5RpB8q0hBMrzFusqDFYaOqAFBipusq9O6cRmGqBsRXnFk0c6xuM2JmiVGRRjbrKNHCFJUFGtNrasWAYI0uaRpeadV9kHzuCkwRpBkNdP8S80tTZBEnFfL8dvRoW7jI4r+wWhFxHyFhjdF2kk/wUMWkcuVTI5EocD45icux6bHOdKClCSRIm68lDoksmlFckESMz4sD2gT6HWSupmfJCLTZjehn5nctQowSpBo9bEgqVbS6uNIy9qFJDR0EilDwyqfncXUfWmRk50gSGH0WT4eaSZdkAzL6k4Kgt30zMmwDmJGBru8XvKyWU+Tpl0eCNLUgiZmnpbevfuMTBHrBEmMD17wEj5Fc8zymeFTR8ITl+S3SBAiB1RB8hMntkuGEWlTbIgXJB97SZHEOuaPEnqN9bPd1d2rK4bMfSFIRj+tpp7075btIppAzacVSRrFbYumE34mdDLU8UFE2xURUrIyrPwguiXuSFop906Mg9hN1jAJWSWbkZs+jbJsUYaNH2hkT5zNBX62QnJj0afgbo8VJJmOFR8LEnGS9BstO8xHQ7pK66lluERBOqlN2ThdPIN/O7QfieQf055YsoJnm6WbSIZ4NJ1CamWvn410L52GPPVH+oRTW1YZMUEVq6RLZH76+eZLVD2RJTODyHmnkiQqxQtSZ/2YfFYVEKV3lYzKga4ZeMs5cwz3NWq67i/N11vnhyEZIkGS1flkxrdubEbCWdYqvj+jBrZkp41GkCiGGap7amRr9AoSPaDJpO8FqzSMVCQ6nHk/8Tnji9YT8TIMP+alUAqS5TPHd+ZqXKQgndKmbJgunoMIkstsLR+1rGBRywSrEhbK1YiYF60l8vyNj9bos0hrVUEiVXLLrLBDbPW4E+a1dQOAZ1Ls02pwDTNSkFzi0JQs6PZkVEzRelepUDnSbrN6vWW61a4QG/lp2R/Flg9RdiRIqtleNiIbdJdE9b4WEcKtInWxM6QYGypPNQydgla6SPbIJo4bvCstLUj0DIi4amT7BN2wlrZylChYkhYkYp4uSNR6rZ+W4jIF6aSS4qExIsNpgmTZiElWM8UqxcTmU1/o16cYN418lhOtK8L2C5LxwdO6mTsUxYMTllXLIwY5xtyW9vGcvtTRghSfFvOgO5jfV6nr0UhBMl24c71mEn0SlaIIUmS6rPAjKps1NovepDjXv5EjrvCEjlNDjUgZBIleeKKZhZVd5yYb0Q1Erd3j4mQzRPnCsLZuXMpyDW0W52qwxfeT11JnjPuHJQqiFQmSr4LXTkUsFqTYkiWBIE0vamJ3sIHeevUiAAAPGUlEQVQ9QLiH5DK7f8QEWRg68+TcGA/Lnw5+VruHpBY2LEihsZRa41BAy1ZDrtWOt33gbdICSDLktdu06qQvwpIw0rjVWoRLOeSs8UFpqMowFuJGT+uRIkixQgkjusAXxXPdmegEIYgOlVx3NMqSKMkVQCd1OEJs0oprB8OwIGkNw8J+f7fIKr2dPDCkBcnp1ThBInXatCDR1rJLAkFan2gopfFP2fm8ftONlBUMbOt0FfbNjn5YdkuGuWV/jNUCmFYaEaR0sG3Tyj0p+3zRmgGi8akS+LiunPMatTDVUGZDv6mRiCSMpoOlv+7+vmU+y1Cr18d3Ruqi2REck7IXX1bnhWslUzNJ36YMN3ET2MSoEEOhS/3BstohQdJXm1KQNLNS1tMGskZqSWcRS+TmtnfW708LUtgvzopY09O9iwFB2oDxfRb5adhIiE6AloOclI+bG/p04cPZ0PNzirznkAylXo0SkXiqfSz26ClYo7B8IVgr+cZZEMryNehZU9bpxUp/RrcLzcPK6BMkWV9QGL3kUGSvIPFJKiscdCG0a08izSjWz4kYm8hIh4WvncnlSEHSry7GlUYmxe3E7XZzm9jc7feZk8OKrGrj6pQRJxttDjkJ0u+HqqoeftNdZQjSeBRB4kNxRUGiyzAx0PrmCJ8P0YDW80aX7NJTYiDBFLyn6UkYt4qJwqHVPk1oIytnr55u9E7DPOtL1muXiWOklSHHVxcldjn6L6/yw/L0PpwTyUYhO9LS4uO/Zley5WJBSkwPrcJov4/znQxY2TXBBf28JppB8rg0KZpHPFGb0soSwklE8uTMmN7ZpwUGreUmkpEg3VUtd2TfpQtS1NdrCRIbf/xEVxgyhd5AMGV375HR1lBPrHSSJRIdoMUTWYZSX7+oaL2s1TKGhEBMRokwrmRqZzKiDhWeaMgukJLlEx/7dD2ZLD3MjkTlCaOs6PteQWITJS2S3lhm+lB7xcZLyVZMijSeJ+r+kUVERQ6YFtua9uAk8hGkn9XNr3/236+b6kfYeeGCFHf1Ip0e0zvYouPpATkv1awcYxPSVQxxNeXzQNOIEtVjeqhQyknWoBmo5h9KcjK9bbFg/V34VruHDHq9SnKen27RKLSTjbDT6qHCJf3gomi14rodrK7enk6YJYrRT5U0L3ki3moy93jb4noSDpxGPoJUVZ/N37/VTdh52YIU9/RCvR7RP9rmx50xOQcqn5BOPVGVk89vJIrtbRmeVT0WuimdileVOjicd6iGBVDaY8VqtU6lg37Axt506VDPSjHKBPNJxKu9koIkVi39HS1SJo3sm7FszPFEVjyMp8wJSxpZNVLafAGC9NsvjL5Xf/xeCJI2jJav1w+08O9WxOfd4xIqqxMrDkvvyFb4IMvQW6bf5Ch7jxtqYv1YusaenIO1jtolaxpqkvVJ18wNG9lrKUHiJXKHo3dNsrjeb7qcZPSgZoKqcsk+ELtkhdyJZkuTLk2np/W2Mlomko0g/ajc0wy/q59+LwSJ9fJi3R5BhuNaEUdfbFhtcqnZozborUz1zm+RD335UpXYRHQZzKgnHj6QOFUerCNRq9w1ysr+SleXqbS78cgYs7DVm10UyT2OX37MMmuF0tJSdkS1hk21HJpETxr1FB9L/ZFF1Kk5lCYeLhPJRpAeqr/dp7/Vg9+7hCAt1VRboN1DktvruEKLjYeZHHTTRmmXKzl8453JpKxRemtLehcfSufz1aWc4YWkyyVZ9bShHq2Q1LUbzfGeVvF55R7VQmlln1/9vbEE6RqEZQkzIy/nC1Ly1IqWEB9TDaGDLHYkUUdcy4Ag0ePMIa3tTH2vTHFxDPF4mUg2gnRT+Y/kJtICgrRcW22A8pSd3N7CETGGLb8GZelQ12Z+Yqimx268u2+QGzHjeuPDSGd7shljtHQsvZJdbQRDC0y6FRdiRXRJ1pKo2ooUKeHrUvS1h+rTh35kkPGZeipIdIKSqK/qZEf6vTbMz7QRYWDEhxRDlAaOlyvavJe1qOOD7lMdj8troa8wi33tQfVnCtkIUlVpH08XpCUba30G/dzIDTodehcnMm06clg+u9Q1jNEm0whDT5sXwazhZNzJqAwlvdUDwBTbBoJY7DfbI/IP+hYt/3qSulRy5SADpZqRjTHlaORBdEojrOSbsqJun40sYl2pOy789OniGmxsrnJkYLCRbMHUOA2vxFskC6LH0+ORbX1EBY+jx6eR5CtI/2v4OBXSWieXBUIrxu1J93SfjWh9/me4rtF9JubFyFwT6S1f2RuSNn/n2UWr63dOtH+UuLdt4o5KViSDkLRBdjL7EDKpx2XR0gpZsVK9SNw7UjUvx3aTN2CoVUeVNtOID9qtyYFpiK1k11AlMr3SQT1DYSb5ClIDVkj7xujXG8b5OanLfE1TzJuIEWfTo9KfD1l97yQwfMHRZ7rp0pL048dt31R0x/oMndKmy7e/6udAq67NUGxTjg9GRPFOTffBuK4nQXXh8Fq8IC3dYOtSmiC1xI1fpp8xefm5+CTwBS7sZ7azNa/+7BhqLeX4UERM+amfsCzZXdkI0re1HmrovSCeG1kO+BWAn2UBP8vifH5mI0jrPfa9J+BnWcDPsoCfa5ONIP0kX4wNL7ODIJUJ/CwL+FkWECQiQ+GdDRCkUoGfZQE/ywKCFF6u+kmeaYAgFQr8LAv4WRYQpHph5H5+IrzKDoJUKPCzLOBnWUCQ7Mo/0LcT4GdZwM+ygJ9rk5Eg2f+UnzAHAABwKcS6kOM3dhQzwY5Bf5YF+rMssupPCBJYG/RnWaA/yyKr/oQggbVBf5YF+rMssupPCBJYG/RnWaA/yyKr/sxRkAAAAFwgECQAAABZAEECAACQBRAkAAAAWQBBAgAAkAUQJAAAAFlwNkH69+NbVX378c9t/2avEpJHa35WFmTLpP7UuhdkxbT5+esO/Zk30+Ot/VOdIeKeS5B+dy9XvemahL9sVR7t9p3BTjCOSf2pdS/Iikn9+XnTbaM/c2V6vLX/bi5IkP5W1Y/P40h+qG4aVf7pf47ih3K0pm6z89gKhpnUn1r3gqyYNj9vqu9/jwHsV1X9PavVIMX0eGvtw1ki7pkE6Xv1n/vQ/Has+8G+v9WNcvTIrwqClDGT+lPpXpAXk/rzZ/W93fyvetjYTjCOyfG27sy7CxKkG+fqZ9Mi4SfNv1d/oqPHdju2zVmaB4xjUn9G3QtyY1J/fqvceTWmaKZMjLf1x5ubzwsSpEDj9A9/9fk3/QlZP8KPq6OfGO27YFR/JjZBfqA/y2Jsf94dV02XK0gP/uLzX77qd4L08InRvg9G9WdiE+THlP78hUuw2TOyP3/V+y9RkP40159vgufsKs6f7up0c0kA0WsHjOtPfRPkx4T+/PMdD6lkz8j+/Gy68hIF6aFZPBLPWSM80AdJIUg7YEJ/RpsgP0b3Z/MMMfQod0b257f61tIlCtKfdsWYaKA/bD0JQcqfKf0pN0F+jO7Pv3cP9XdjPze0DUxnZH92z01eniB93tzIq3HkozsaHwF5Mqk/xSbIj0n9af/hml3mjOzPv911vMsTpG/d4/B6A7mj8RGQJ5P6U2yC/JjUnxZfLMudkf150z3zcHGCdBcuWfp94SbbnbjDAEHKnUn9KbsXZMe0+Wnre+HfNjALzGRkf353j4JfmiCFEa09hhiNdwhS5kzqT+hR9kycnzWYoxkztj8ryrYmnlOQPsmI/km+qPUjOtqBwZ41k/pT6V6QF5PnZw3maLaM78/LFKTPGzKiw6ssuu8Qs6MdGOw5M6k/te4FWTGhP2/8q4Pw3GS2TI+3l3XJ7nd1Q98M7F72170+SRx1aTaxDMxhUn+q3QtyYkp//vBfj8W6N1dmxNuLEqT61X10+4d/HfpP5WgLBClfJvWn3r0gIyb157+b6nu9/ecOb97IlDnx9qIE6bu8Ssl+MCo62gBBypdJ/al3L8iIafPT/0AfHvrOlDnx9qIEKb5t9h/5SV39phqiV75M6k+9e0FGTJ2f9U+Y33zHddhcmRNvL0qQAAAAAA4ECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAAAAZAEECQAAQBZAkAAAAGQBBAkAAEAWQJAAAABkAQQJAABAFkCQAFgb46kOj189Cb9uN7MJgAyBIAGwNobxmEz3ZDAfwUWDCQDA2nBBMtc96bY0C4DcwAQAYG2C0Ly/HI4bqQtzECRw4WACALA2TGjuj1uvI9IBcHlgAgCwNlxojop0NSYdABcHJgAAayOEpjLmvf30cn99PHZ1/9alaugO3R4/Hl62NRSA8wJBAmBthCAdl0hP9d/3a/+cw73lgvTlDl2/n8FeAM4EBAmAtRGC9Hpc+tR/K/Lk3QsXpKvwzaVzGAzAeYAgAbA2QpC+2ptIT0e1eam/Jvty1T0K7tPd1oe6I4eNjQXgfECQAFgb+bBCu30Um7d2+6tL4NK9H/Woe6HDlb/fBED5QJAAWBtdkOIdbv9jcwmv4aXvzQ4AFAYECYC16RWkt6dDJQTpQI7jmh24ICBIAKxNUpDax779owxuP33aAY81gAsCggTA2ghBeuueYSCPfXNBEu++29xeAM4EBjsAayNE5aV7m127ELo6PL1AkACowWAHYG3iL8Y+2/ax76d3moAI0sYWApAFGPgArI0QmONm/VB3+rHvgz8CwEUBQQJgbbgg3XYPzoW9T/Fj3/ebGghAHkCQAFgbJkjPplv/uL/1Qw5ckN6M/yLSS/rXkwAoDggSAGsTBOm9fhlQt/w5GHP1etz12Dy58NWme3GHzNNxz3vPjycBUB4QJADWRjw1133T9YXtrBdL1+5rR1/km0i4eAcuBwgSAGvD9ejJ7b5333ytl03dc3fdYip8RQl6BC4ICBIAaxPE6Or2+Svsf6kvzR2emx+kaL4q++Te+13/QF/lf7oPgAsBggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACALIEgAAACyAIIEAAAgCyBIAAAAsgCCBAAAIAsgSAAAALIAggQAACAL/j/hc5DCy1HMxgAAAABJRU5ErkJggg==",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 720,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"# plot results\n",
"equity_plot <- equity %>% \n",
" ggplot(aes(x = Date, y = Equity)) + \n",
" geom_line() +\n",
" labs(\n",
" title = \"Simulation of carry, momentum & breakout factors with lambda 1, tau 1\",\n",
" y = \"Equity, $\"\n",
" )\n",
"\n",
"weights_plot <- backtest_df %>%\n",
" group_by(date) %>% \n",
" summarise(\n",
" total_weight = sum(abs(weight)),\n",
" net_weight = sum(weight)\n",
" ) %>% \n",
" pivot_longer(-date, names_to = \"type\", values_to = \"weight\") %>% \n",
" ggplot(aes(x = date, y = weight, colour = type)) +\n",
" geom_line() +\n",
" labs(\n",
" title = \"Total and Net Weight\",\n",
" y = \"Weight\",\n",
" colour = \"\"\n",
" ) +\n",
" theme(legend.position = \"bottom\")\n",
"\n",
"turnover_plot <- results_df %>% \n",
" filter(ticker != \"Cash\") %>% \n",
" group_by(Date) %>% \n",
" summarise(Turnover = 100*sum(abs(TradeValue))/initial_cash) %>% \n",
" ggplot(aes(x = Date, y = Turnover)) +\n",
" geom_line() +\n",
" geom_point() +\n",
" labs(\n",
" title = \"Turnover as % of trading capital\",\n",
" y = \"Turnover, %\"\n",
" )\n",
"\n",
"options(repr.plot.width = 14, repr.plot.height=12)\n",
"equity_plot / weights_plot / turnover_plot + plot_layout(heights = c(2, 1, 1))\n",
"options(repr.plot.width = 14, repr.plot.height=7)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"Notice that we get quite long from time to time. And sometimes we're not quite fully invested. Maybe that's what you want, maybe not. \n",
"\n",
"Let's repeat the process, but this time constrain the portfolio to a maximum net weight of +/- 0.5:"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# define our mvo function\n",
"mvo_with_costs_constrained <- function(expected_returns, current_weights, na_idxs = c(), costs, covmat, lambda = 1, tau = 1) {\n",
" # define our weights vector as a CVXR::Variable\n",
" weights <- Variable(length(expected_returns))\n",
" # define an alpha term as the weighted sum of expected returns\n",
" # again, express using linear algebra\n",
" alpha_term <- (t(weights) %*% expected_returns)\n",
" # define a costs term. depends on:\n",
" # cost of trading - needs to be expressed such that it scales with expected returns\n",
" # calculate as elementwise cost * absolute value of weights - current_weights\n",
" # use CVXR::multiply and CVXR::abs\n",
" # absolute distance of current_weights to our weights variable\n",
" # the more our target weights differ from current weights, the more it costs to trade\n",
" # this is a decent representation of fixed percentage costs, but doesn't capture minimum commissions\n",
" # sum_entries is a CVXR function for summing the elements of a vector\n",
" costs_term <- sum_entries(multiply(costs, abs(weights - current_weights))) # elementwise abs, multiply\n",
" # define a risk term as w*Sigma*w\n",
" # quad_form is a CVXR function for doing w*Sigma*w\n",
" risk_term <- quad_form(weights, covmat)\n",
" # define our objective\n",
" # maximise our alpha less our risk term multiplied by some factor, lambda, less our costs term multiplied by tau\n",
" objective <- Maximize(alpha_term - lambda*risk_term - tau*costs_term)\n",
" # constrain to a maximum net weight +/- 0.5, maximum leverage 1\n",
" constraints <- list(cvxr_norm(weights, 1) <= 1, abs(sum_entries(weights)) <= 0.5, weights[na_idxs] == 0)\n",
" # specify the problem\n",
" problem <- Problem(objective, constraints)\n",
" # solve\n",
" result <- solve(problem)\n",
"\n",
" # return the values of the variable we solved for\n",
" result$getValue(weights)\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 66,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"lambda <- 1\n",
"tau <- 1\n",
"weights <- list()\n",
"errors <- list()\n",
"w0 <- rep(0, length(universe_tickers))\n",
"for( i in c(1:length(exp_returns_sim_df$date)) ) {\n",
" # today's date\n",
" d = exp_returns_sim_df$date[i]\n",
"\n",
" # cov estimate\n",
" today_covmat <- covmat_list[[i]]\n",
"\n",
" # check cov matrix and exp returns vector are ticker-aligned\n",
" # all.equal(exp_returns_sim_df %>% filter(date == d) %>% pivot_longer(-date, names_to = \"ticker\", values_to = \"expected_return\")%>% arrange(match(ticker, universe_tickers)) %>% pull(ticker), colnames(today_covmat))\n",
" \n",
" # get row of expected returns as a vector in the same order as the columns of the covariance matrix\n",
" # contains NA at this point\n",
" exp_rets <- exp_returns_sim_df %>% filter(date == d) %>% pivot_longer(-date, names_to = \"ticker\", values_to = \"expected_return\")%>% arrange(match(ticker, universe_tickers)) %>% pull(expected_return)\n",
" # get na indexes\n",
" # we'll explicitly constrain these to get zero weight\n",
" na_idxs <- which(is.na(exp_rets))\n",
" # convert NA to zero\n",
" exp_rets[is.na(exp_rets)] <- 0\n",
" # initialise w in case we get a solver error (can retain w0 in these cases)\n",
" w <- w0\n",
" tryCatch({\n",
" w <- mvo_with_costs_constrained(expected_returns = exp_rets, current_weights = w0, na_idxs = na_idxs, costs = costs, covmat = today_covmat, lambda = lambda, tau = tau)\n",
" }, error = function(e) {\n",
" # in case of solver error, log and retain existing weights\n",
" errors[[i]] <- e\n",
" }\n",
" )\n",
" \n",
" # w is a one-column matrix\n",
" weights[[i]] <- w\n",
" w0 <- w \n",
"}\n",
"\n",
"saveRDS(results, file = \"lambda_1_tau_1_net_weight_constrained.rds\")"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"A tibble: 6 × 7\n",
"\n",
"\tweight | date | ticker | expected_return | close | total_fwd_return_simple | funding_rate |
\n",
"\t<dbl> | <date> | <chr> | <dbl> | <dbl> | <dbl> | <dbl> |
\n",
"\n",
"\n",
"\t0 | 2021-02-18 | BTCUSDT | NA | 51663.6400 | 0.041106415 | -0.00412394 |
\n",
"\t0 | 2021-02-18 | ETHUSDT | NA | 1910.9900 | 0.007813203 | -0.00516012 |
\n",
"\t0 | 2021-02-18 | BCHUSDT | NA | 702.5500 | 0.015704896 | -0.00711178 |
\n",
"\t0 | 2021-02-18 | XRPUSDT | NA | 0.5302 | 0.030592698 | -0.00688510 |
\n",
"\t0 | 2021-02-18 | EOSUSDT | NA | 4.8000 | 0.077784750 | -0.00550166 |
\n",
"\t0 | 2021-02-18 | LTCUSDT | NA | 225.8000 | 0.020896880 | -0.00616800 |
\n",
"\n",
"
\n"
],
"text/latex": [
"A tibble: 6 × 7\n",
"\\begin{tabular}{lllllll}\n",
" weight & date & ticker & expected\\_return & close & total\\_fwd\\_return\\_simple & funding\\_rate\\\\\n",
" & & & & & & \\\\\n",
"\\hline\n",
"\t 0 & 2021-02-18 & BTCUSDT & NA & 51663.6400 & 0.041106415 & -0.00412394\\\\\n",
"\t 0 & 2021-02-18 & ETHUSDT & NA & 1910.9900 & 0.007813203 & -0.00516012\\\\\n",
"\t 0 & 2021-02-18 & BCHUSDT & NA & 702.5500 & 0.015704896 & -0.00711178\\\\\n",
"\t 0 & 2021-02-18 & XRPUSDT & NA & 0.5302 & 0.030592698 & -0.00688510\\\\\n",
"\t 0 & 2021-02-18 & EOSUSDT & NA & 4.8000 & 0.077784750 & -0.00550166\\\\\n",
"\t 0 & 2021-02-18 & LTCUSDT & NA & 225.8000 & 0.020896880 & -0.00616800\\\\\n",
"\\end{tabular}\n"
],
"text/markdown": [
"\n",
"A tibble: 6 × 7\n",
"\n",
"| weight <dbl> | date <date> | ticker <chr> | expected_return <dbl> | close <dbl> | total_fwd_return_simple <dbl> | funding_rate <dbl> |\n",
"|---|---|---|---|---|---|---|\n",
"| 0 | 2021-02-18 | BTCUSDT | NA | 51663.6400 | 0.041106415 | -0.00412394 |\n",
"| 0 | 2021-02-18 | ETHUSDT | NA | 1910.9900 | 0.007813203 | -0.00516012 |\n",
"| 0 | 2021-02-18 | BCHUSDT | NA | 702.5500 | 0.015704896 | -0.00711178 |\n",
"| 0 | 2021-02-18 | XRPUSDT | NA | 0.5302 | 0.030592698 | -0.00688510 |\n",
"| 0 | 2021-02-18 | EOSUSDT | NA | 4.8000 | 0.077784750 | -0.00550166 |\n",
"| 0 | 2021-02-18 | LTCUSDT | NA | 225.8000 | 0.020896880 | -0.00616800 |\n",
"\n"
],
"text/plain": [
" weight date ticker expected_return close total_fwd_return_simple\n",
"1 0 2021-02-18 BTCUSDT NA 51663.6400 0.041106415 \n",
"2 0 2021-02-18 ETHUSDT NA 1910.9900 0.007813203 \n",
"3 0 2021-02-18 BCHUSDT NA 702.5500 0.015704896 \n",
"4 0 2021-02-18 XRPUSDT NA 0.5302 0.030592698 \n",
"5 0 2021-02-18 EOSUSDT NA 4.8000 0.077784750 \n",
"6 0 2021-02-18 LTCUSDT NA 225.8000 0.020896880 \n",
" funding_rate\n",
"1 -0.00412394 \n",
"2 -0.00516012 \n",
"3 -0.00711178 \n",
"4 -0.00688510 \n",
"5 -0.00550166 \n",
"6 -0.00616800 "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# wrangle weights into a dataframe\n",
"weights_df <- purrr::map2(\n",
" weights, \n",
" exp_returns_sim_df$date, \n",
" ~weights_mat_to_df(.x, .y, lambda = lambda, tau = tau, tickers = universe_tickers)\n",
") %>% \n",
" bind_rows() %>% \n",
" rename(\"weight\" = lambda_1_tau_1)\n",
"\n",
"# join weights onto prices\n",
"backtest_df <- weights_df %>% \n",
" left_join(strategy_df, by = c(\"ticker\", \"date\"))\n",
"\n",
"head(backtest_df)"
]
},
{
"cell_type": "code",
"execution_count": 68,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [],
"source": [
"# simulate\n",
"\n",
"# get weights as a wide matrix \n",
"backtest_weights <- backtest_df %>%\n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, weight)) %>% # pivot wider guarantees prices and theo_weight are date aligned\n",
" select(date, starts_with(\"weight\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
"# NA weights should be zero\n",
"backtest_weights[is.na(backtest_weights)] <- 0\n",
"\n",
"# get prices as a wide matrix\n",
"backtest_prices <- backtest_df %>% \n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, weight)) %>% # pivot wider guarantees prices and theo_weight are date aligned\n",
" select(date, starts_with(\"close_\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
"# get funding as a wide matrix\n",
"backtest_funding <- backtest_df %>%\n",
" pivot_wider(id_cols = date, names_from = ticker, values_from = c(close, funding_rate)) %>% # pivot wider guarantees prices and funding_returns_simple are date aligned\n",
" select(date, starts_with(\"funding_rate_\")) %>%\n",
" mutate(date = as.numeric(date)) %>% \n",
" data.matrix()\n",
"\n",
"# simulation\n",
"results_df <- fixed_commission_backtest_with_funding(\n",
" prices = backtest_prices,\n",
" target_weights = backtest_weights,\n",
" funding_rates = backtest_funding,\n",
" trade_buffer = 0.,\n",
" initial_cash = 10000,\n",
" margin = 0.05,\n",
" commission_pct = 0.0015,\n",
" capitalise_profits = FALSE\n",
") %>%\n",
"mutate(ticker = str_remove(ticker, \"close_\")) %>%\n",
"# remove coins we don't trade from results\n",
"drop_na(Value)\n",
"\n",
"margin <- results_df %>%\n",
" group_by(Date) %>%\n",
" summarise(Margin = sum(Margin, na.rm = TRUE))\n",
"\n",
"cash_balance <- results_df %>%\n",
" filter(ticker == \"Cash\") %>%\n",
" select(Date, Value) %>%\n",
" rename(\"Cash\" = Value)\n",
"\n",
"equity <- cash_balance %>%\n",
" left_join(margin, by = \"Date\") %>% \n",
" mutate(Equity = Cash + Margin) %>% \n",
" select(Date, Equity) "
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"vscode": {
"languageId": "r"
}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"plot without title"
]
},
"metadata": {
"image/png": {
"height": 720,
"width": 840
}
},
"output_type": "display_data"
}
],
"source": [
"# plot results\n",
"equity_plot <- equity %>% \n",
" ggplot(aes(x = Date, y = Equity)) + \n",
" geom_line() +\n",
" labs(\n",
" title = \"Simulation of carry, momentum & breakout factors with lambda 1, tau 1\",\n",
" subtitle = \"Portfolio net position constrained to +/- 0.5\",\n",
" y = \"Equity, $\"\n",
" )\n",
"\n",
"weights_plot <- backtest_df %>%\n",
" group_by(date) %>% \n",
" summarise(\n",
" total_weight = sum(abs(weight)),\n",
" net_weight = sum(weight)\n",
" ) %>% \n",
" pivot_longer(-date, names_to = \"type\", values_to = \"weight\") %>% \n",
" ggplot(aes(x = date, y = weight, colour = type)) +\n",
" geom_line() +\n",
" labs(\n",
" title = \"Total and Net Weight\",\n",
" y = \"Weight\",\n",
" colour = \"\"\n",
" ) +\n",
" theme(legend.position = \"bottom\")\n",
"\n",
"turnover_plot <- results_df %>% \n",
" filter(ticker != \"Cash\") %>% \n",
" group_by(Date) %>% \n",
" summarise(Turnover = 100*sum(abs(TradeValue))/initial_cash) %>% \n",
" ggplot(aes(x = Date, y = Turnover)) +\n",
" geom_line() +\n",
" geom_point() +\n",
" labs(\n",
" title = \"Turnover as % of trading capital\",\n",
" y = \"Turnover, %\"\n",
" )\n",
"\n",
"options(repr.plot.width = 14, repr.plot.height=12)\n",
"equity_plot / weights_plot / turnover_plot + plot_layout(heights = c(2, 1, 1))\n",
"options(repr.plot.width = 14, repr.plot.height=7)"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"You can see that now the portfolio never gets more than 50% net long. You can adjust this constraint further, and add any of your own, if you like. "
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"## Conclusions\n",
"\n",
"In this chapter, we demonstrated how to frame the trading problem - that is, how to navigate the tradeoffs between edge, costs, and constraints - as a mathematical optimisation problem, and how to simulate trading the output of the optimisation. \n",
"\n",
"We showed how you can control the optimiser's decisions with the lambda (risk aversion) and tau (propensity to trade) parameters. We saw how different parameter values affect the optimiser's trading decisions. \n",
"\n",
"It's worth reiterating that optimisation doesn't represent alpha. Your alpha is embedded in your forecasts of expected returns. Optimisation is a tool for navigating the tradeoffs involved with harnessing your expected returns, but it doesn't provide any alpha itself. This implies that the real work is in finding, quantifying and understanding your signals. \n",
"\n",
"If using a risk model in your optimisation, like we did here with our covariance matrixes, it's important to note that the optimiser can be very sensitive to your covariance estimates. It's reasonable to shrink these estimates as a reflection of the inherent uncertainty. \n",
"\n",
"How does the optimisation approach stack up against the heuristic no-trade buffer that we explored [earlier](https://robotwealth.com/a-simple-effective-way-to-manage-turnover-and-not-get-killed-by-costs/)? The heuristic is simpler to reason about and implement. But it requires a bit more fudging upstream, particularly if you wanted to incorporate a risk model. \n",
"\n",
"The optimisation approach is fiddly to set up at the outset, but extremely scalable once set up. It requires some skill in modelling expected returns and covariances. "
]
}
],
"metadata": {
"kernelspec": {
"display_name": "R",
"language": "R",
"name": "ir"
},
"language_info": {
"codemirror_mode": "r",
"file_extension": ".r",
"mimetype": "text/x-r-source",
"name": "R",
"pygments_lexer": "r",
"version": "4.2.3"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}