├── .gitignore
├── Alphas
├── Filter_Rules.ipynb
├── Market_Return_by_Dates.ipynb
├── Market_Return_by_Payday.ipynb
├── Market_Return_by_Political_Party.ipynb
├── Retail_Crypto_Universe_Return_by_Meme_Coin.ipynb
└── Retail_Crypto_Universe_Return_by_Ticker_Rank.ipynb
├── LICENSE
├── Miscellaneous
├── Continuous_Time_Finance.ipynb
├── Crypto_Degrees_of_Freedom.ipynb
├── Direction_Statistics.ipynb
├── Generating_Multivariate_Random_Numbers.ipynb
├── Grinold-Kahn Notes.md
├── Index_Pairwise_Correlations.ipynb
├── Jarque-Bera Tests.ipynb
├── Longer_Term_Crypto_Degrees_of_Freedom.ipynb
├── Normality Tests.ipynb
└── S&P_500_Pairwise_Correlations.ipynb
├── README.md
├── The Market's Not Normal
├── Fundamental_Law.ipynb
├── Non_Stationarity_in_the_First_Two_Moments.ipynb
├── The_Autocorrelation_of_Variance.ipynb
├── The_Market's_Not_Normal.ipynb
├── The_Variance_is_Not_Stationary.ipynb
├── These_Two_Things_are_Not_the_Same.ipynb
├── my_library.py
└── not_the_same.tex
├── my_library.py
└── nlls.py
/.gitignore:
--------------------------------------------------------------------------------
1 | # Byte-compiled / optimized / DLL files
2 | __pycache__/
3 | *.py[cod]
4 | *$py.class
5 |
6 | # C extensions
7 | *.so
8 |
9 | # Distribution / packaging
10 | .Python
11 | build/
12 | develop-eggs/
13 | dist/
14 | downloads/
15 | eggs/
16 | .eggs/
17 | lib/
18 | lib64/
19 | parts/
20 | sdist/
21 | var/
22 | wheels/
23 | share/python-wheels/
24 | *.egg-info/
25 | .installed.cfg
26 | *.egg
27 | MANIFEST
28 |
29 | # PyInstaller
30 | # Usually these files are written by a python script from a template
31 | # before PyInstaller builds the exe, so as to inject date/other infos into it.
32 | *.manifest
33 | *.spec
34 |
35 | # Installer logs
36 | pip-log.txt
37 | pip-delete-this-directory.txt
38 |
39 | # Unit test / coverage reports
40 | htmlcov/
41 | .tox/
42 | .nox/
43 | .coverage
44 | .coverage.*
45 | .cache
46 | nosetests.xml
47 | coverage.xml
48 | *.cover
49 | *.py,cover
50 | .hypothesis/
51 | .pytest_cache/
52 | cover/
53 |
54 | # Translations
55 | *.mo
56 | *.pot
57 |
58 | # Django stuff:
59 | *.log
60 | local_settings.py
61 | db.sqlite3
62 | db.sqlite3-journal
63 |
64 | # Flask stuff:
65 | instance/
66 | .webassets-cache
67 |
68 | # Scrapy stuff:
69 | .scrapy
70 |
71 | # Sphinx documentation
72 | docs/_build/
73 |
74 | # PyBuilder
75 | .pybuilder/
76 | target/
77 |
78 | # Jupyter Notebook
79 | .ipynb_checkpoints
80 |
81 | # IPython
82 | profile_default/
83 | ipython_config.py
84 |
85 | # pyenv
86 | # For a library or package, you might want to ignore these files since the code is
87 | # intended to run in multiple environments; otherwise, check them in:
88 | # .python-version
89 |
90 | # pipenv
91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies
93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not
94 | # install all needed dependencies.
95 | #Pipfile.lock
96 |
97 | # poetry
98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
99 | # This is especially recommended for binary packages to ensure reproducibility, and is more
100 | # commonly ignored for libraries.
101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
102 | #poetry.lock
103 |
104 | # pdm
105 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
106 | #pdm.lock
107 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
108 | # in version control.
109 | # https://pdm.fming.dev/#use-with-ide
110 | .pdm.toml
111 |
112 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
113 | __pypackages__/
114 |
115 | # Celery stuff
116 | celerybeat-schedule
117 | celerybeat.pid
118 |
119 | # SageMath parsed files
120 | *.sage.py
121 |
122 | # Environments
123 | .env
124 | .venv
125 | env/
126 | venv/
127 | ENV/
128 | env.bak/
129 | venv.bak/
130 |
131 | # Spyder project settings
132 | .spyderproject
133 | .spyproject
134 |
135 | # Rope project settings
136 | .ropeproject
137 |
138 | # mkdocs documentation
139 | /site
140 |
141 | # mypy
142 | .mypy_cache/
143 | .dmypy.json
144 | dmypy.json
145 |
146 | # Pyre type checker
147 | .pyre/
148 |
149 | # pytype static type analyzer
150 | .pytype/
151 |
152 | # Cython debug symbols
153 | cython_debug/
154 |
155 | # PyCharm
156 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
157 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
158 | # and can be added to the global gitignore or merged into this file. For a more nuclear
159 | # option (not recommended) you can uncomment the following to ignore the entire idea folder.
160 | #.idea/
161 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Copyright (c) 2024 Giller Investments (New Jersey), LLC
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to use
5 | the Software, including without limitation the rights to use, copy, modify,
6 | and distribute, and to permit persons to whom the Software is furnished to do so,
7 | subject to the following conditions:
8 |
9 | The above copyright notice and the following notices shall be included in all
10 | copies or substantial portions of the Software.
11 |
12 | PERMISSION TO COMMERCIALLY EXPLOIT THIS SOFTWARE BY SELLING OR LICENSING
13 | UNMODIFIED VERSIONS OF IT TO THIRD PARTIES IS EXPLICITLY WITHHELD. THE
14 | TERM "UNMODIFIED" SHALL EXPRESSLY INCLUDE ANY MODIFICATIONS THAT A REASONABLE
15 | PERSON WOULD REGARD AS "TRIVIAL" OR "SLIGHT," SUCH AS CHANGES TO FORMATTING,
16 | PRESENTATION, SPECIFIC CHOICES OF NON-CONSEQUENTIAL WORDS, PUNCTUATION, LAYOUT ETC.
17 |
18 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24 | SOFTWARE.
25 |
26 | NOTHING IN THIS SOFTWARE, OR THE DOCUMENTATION ASSOCIATED WITH IT, SHOULD BE
27 | TAKEN AS REPRESENTING INVESTMENT ADVICE, EITHER EXPLICITLY OR IMPLICITLY.
28 | THE AUTHOR EXPRESSLY AND UNAMBIGUOUSLY WITHHOLDS ANY ENDORSEMENT OF THE USE
29 | OF THIS SOFTWARE AS PART OF A TRADING OR INVESTMENT STRATEGY. ALL INVESTMENTS
30 | ARE MADE AT THE SOLE RISK OF THE INVESTOR AND YOU SHOULD CONSULT A REGISTERED
31 | INVESTMENT PROFESSIONAL FOR ANY ADVICE REGARDING SPECIFIC INVESTMENTS OR
32 | INVESTMENT STRATEGIES PRIOR TO MAKING AN INVESTMENT OF ANY KIND.
33 |
--------------------------------------------------------------------------------
/Miscellaneous/Grinold-Kahn Notes.md:
--------------------------------------------------------------------------------
1 | # Grinold-Kahn Notes
2 |
3 | For asset returns $r_{it}\ :\ i\in[1,N], t\in\mathbb{Z}^+$, define the matrix $G_N(\rho)$ as the covariance matrix of returns where all pairwise correlations are equal. i.e.
4 |
5 | $$
6 | \mathbb{V}[r_{it},r_{jt}]=\sigma_{i}\sigma_{j}\rho \Leftrightarrow V=SG_N(\rho)S\ \mathrm{where}\ G_N(\rho)=\begin{pmatrix}
7 | 1&\rho&\cdots&\rho\\
8 | \rho&1&\cdots&\rho\\
9 | \vdots&&\ddots&\vdots\\
10 | \rho&\rho&\cdots&1
11 | \end{pmatrix}\ \mathrm{and}
12 | \ S_t=\begin{pmatrix}
13 | \sigma_1&0&\cdots&0\\
14 | 0&\sigma_2&\cdots&0\\
15 | \vdots&&\ddots&\vdots\\
16 | 0&0&\cdots&\sigma_N
17 | \end{pmatrix}.
18 | $$
19 |
20 | As a symmetric positive definite matrix, $G_N(\rho)$, may always be diagonalized by a similarity transformation. The eigenvalues are:
21 |
22 | 1. one eigenvalue of $1+(N-1)\rho$; and,
23 | 2. $N-1$ eigenvalues of magnitude $1-\rho$.
24 |
25 | and the associated eigenvectors are:
26 |
27 | 1. one eigenvector of all ones: $(1\,1\dots 1)^T=\mathbf{1}_N$ where $\mathbf{1}_N$ is the unit-vector of dimension $N$; and,
28 | 2. $N-1$ vectors of the form: $(1\,-1\,0 \dots 0)^T$, $(1,0\,-1\,0 \dots 0)^T$ through $(1\,0 \dots 0\,-1)^T$.
29 |
--------------------------------------------------------------------------------
/Miscellaneous/Jarque-Bera Tests.ipynb:
--------------------------------------------------------------------------------
1 | {
2 | "nbformat": 4,
3 | "nbformat_minor": 0,
4 | "metadata": {
5 | "colab": {
6 | "provenance": [],
7 | "authorship_tag": "ABX9TyN9PjJ29ioVj0KHDZQuwmOh",
8 | "include_colab_link": true
9 | },
10 | "kernelspec": {
11 | "name": "python3",
12 | "display_name": "Python 3"
13 | },
14 | "language_info": {
15 | "name": "python"
16 | }
17 | },
18 | "cells": [
19 | {
20 | "cell_type": "markdown",
21 | "metadata": {
22 | "id": "view-in-github",
23 | "colab_type": "text"
24 | },
25 | "source": [
26 | ""
27 | ]
28 | },
29 | {
30 | "cell_type": "code",
31 | "execution_count": 1,
32 | "metadata": {
33 | "colab": {
34 | "base_uri": "https://localhost:8080/"
35 | },
36 | "id": "s34EvR0_ax-c",
37 | "outputId": "783a5304-11b7-4494-c4a8-f60eba41ceea"
38 | },
39 | "outputs": [
40 | {
41 | "output_type": "stream",
42 | "name": "stdout",
43 | "text": [
44 | "16:39:14 Starting...\n",
45 | "16:39:14 Installing yfinance into Google notebook...\n",
46 | "16:39:18 Installing arch into Google notebook...\n",
47 | "16:39:26 Initialized.\n"
48 | ]
49 | }
50 | ],
51 | "source": [
52 | "from my_library import *"
53 | ]
54 | },
55 | {
56 | "cell_type": "code",
57 | "source": [
58 | "from scipy.stats import norm,gennorm,jarque_bera as jbtest\n",
59 | "from itertools import product\n",
60 | "\n",
61 | "results=pd.DataFrame()\n",
62 | "results.index=pd.MultiIndex.from_tuples(list(product(list(range(10,1001,1)),list(np.arange(one,four,0.1)))))\n",
63 | "results.index.names=[\"Sample\",\"Beta\"]\n",
64 | "\n",
65 | "for n,beta in results.index:\n",
66 | " sample=pd.Series(gennorm(beta,zero,one).rvs(n))\n",
67 | " results.loc[(n,beta),\"Mean\"]=sample.mean()\n",
68 | " results.loc[(n,beta),\"St.Dev.\"]=sample.var()\n",
69 | " results.loc[(n,beta),\"Skewness\"]=sample.skew()\n",
70 | " results.loc[(n,beta),\"Kurtosis\"]=sample.kurt()+three\n",
71 | " results.loc[(n,beta),\"JB Test\"]=jbtest(sample)[1]\n",
72 | "\n",
73 | "results[\"JB 5%\"]=results[\"JB Test\"]<0.05\n",
74 | "results[\"JB 1%\"]=results[\"JB Test\"]<0.01\n",
75 | "results[\"JB 0.1%\"]=results[\"JB Test\"]<0.001\n",
76 | "\n",
77 | "Z=(df:=results.reset_index()).pivot_table(index=\"Beta\",columns=\"Sample\",values=\"JB Test\").values\n",
78 | "X,Y=np.meshgrid(np.sort(df[\"Sample\"].unique()),np.sort(df[\"Beta\"].unique()))\n",
79 | "figure,plot=pl.subplots(figsize=(ten*GoldenRatio,ten))\n",
80 | "plot.pcolormesh(X,Y,Z,cmap='Oranges')\n",
81 | "plot.set_xscale('log')"
82 | ],
83 | "metadata": {
84 | "id": "6HqH-iEra29s",
85 | "outputId": "5c06f8ea-2496-4f38-8628-526eae659881",
86 | "colab": {
87 | "base_uri": "https://localhost:8080/",
88 | "height": 835
89 | }
90 | },
91 | "execution_count": 14,
92 | "outputs": [
93 | {
94 | "output_type": "display_data",
95 | "data": {
96 | "text/plain": [
97 | ""
98 | ],
99 | "image/png": "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Bw/WwIEDdfTRR2vGjBkd1k8mk6qtrc37AwAAAAAAAOD/jg0OTPq+r8suu0x77LGHxowZ0269UaNG6b777tPTTz+tBx98UL7va/fdd9eCBQvabXPDDTeouro692fgwIEbOk0AAAAAAAAA/wttcGDy4osv1vTp0/XII490WG/cuHE688wztf3222v8+PF64okn1LNnT911113ttpkwYYJqampyf+bPn7+h0wQAAAAAAADwv9B6/TcmW1xyySV69tln9cYbb2jAgAHr1TYWi2mHHXbQrFmz2q2TSCSUSCQ2ZGoAAADA/2Pvv8OrqPb///s5k15I6BB6lSJNOiiI9CJSpIh0EZQiFkQBOwgIAgoiIkXpXYqg0kRAmtIRlN4hoScB0jNz/zFxh21CFff5fb7363FdXFl91sysWTO8yfGIiIiIyP8B9/Ubk7Zt06dPH5YsWcK6desoWLDgfR8wOTmZP/74g7CwsPvuKyIiIiIiIiIiIv9vuK/fmOzduzdz5sxh2bJlZMiQgYiICABCQ0MJCAgAoFOnTuTOnZvhw4cDMHjwYKpWrUqRIkWIjIzk008/5dSpU7z44osP+VRERERERERERETk/4r7Ckx+9dVXANSqVcut/Ntvv6VLly4AnD59GtNM/UXMa9eu0b17dyIiIsiUKRMVKlRgy5YtlCxZ8t/NXERERERERERERP7Puq/ApG3bd22zfv16t/xnn33GZ599dl+TEhERERERERERkf+3PfD/K7eIiIiIiIiIiIjIg1JgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPM6wbdv+X0/ibqKjowkNDWV0aZMAL+M/P14O//92/KdKh/xnY18Nj36o4+UqVfChjucVEPhQxlny44F/1b/1+In/qv+NbwY8cF//sLwP1O/qoSMP1C9LyWL33cfLL+C+2p/7bed9tbete992Vh5Puue2L77c+J7aJV88e0/tLv156J7aHTwXd9c2tTo1u2ubuMN771jv/2iVu45xY+vqO9YHt+h1x/qrc8fe+QDG7ffg3w9fv21dw/YN7jjs+nmr0i3/K+r2x8t2h7261chh6VfsXJFu8adTtt52rGcLpr9eC3XplqZs9sip6bZt36Fm+oPX7pG27PKJdJt+0++9tOM2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+AF77VjM5yZgXw+HgEwY3gFY4bsws5cC04ur/cpyMzqO3L0/xCj9LIbhhZ14ExJjOf5yNQqNXw8BGcHLlzUtSlD/x3OQnIi1exZGyWcw/ELA2xeS4on9pA4B723hXLcC5BqzGXvrJCheFyPrI+AdgOGX8o1qJYNhYifcdPaIAk8ABtgWhk+Ac56HN2M2GQJ/hwJtC2vzl84eePOy8/c9w8QIzIIdcwXDNxj76nGijRAyFqxAVFQUISEPN6al35gUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjDNu27f/1JO4mOjqa0NBQznbPQojvfx9LDSr4yH86/uJF2/6zsVu0qPhQx7Mt66GOt3PNzocyTqWJK/5V/4Udm/6r/oeijAfuWyXrg13TbZcebO2/93L1++/k5XNfzaP3776v9rsORt5z28rlw+657bad4ffUrnab2vfULnzT5ntql6Ncqbu22bLq7mv/iZe63LH+4or5d5+Mcee1OWVH3B3r+7UoeMf6T5ecuG1d6/zJt60LCva947iBGfzSLf9x/83b9mnb6PZ7ddSps+mWZ234bPodbly97VhXt25Itzxj0aJpyg6vT/8+l5iwOt3yxNn90pR5V2qcbtu9Y0akKcufPzRN2ZaD0en2/6eyudLek0MRCWnKzsakXVMd21Z2y9vJSWnaRB4+7JbP3HNkmjZL+/Zyy3v/Y5t7urP7tYja/mvaMXZfd59bq/Ju+eXf73LLl83qfj4FXvvAlTaK1nGrs+a+7pY/vdV9rNzlH3WlfV6a5VZ3tEsZVzpDlkC3uuSk1PdAWI9BbnVGkdT9yb561JWOGt/XrV1oj9T18Gv/nqSnxuRb3pUxl90r41Ofrakv93Glg27Z/p9768XUTKY8ruQfn7wPQOlPp6fWB2ZNTR9Zn5o+f8s6qNrW+Xk5dR+5/O1wV3rCb7GudIcizudpoRFzU/v/vsD5mbe0qyh8yieudFh9Z73smbvYVVaubTMATixbDkDB0ctSx1v1GQDx4addRX6PNwdg/CCn7uVWqfu76eNcHLOos8bWjp3sqssb6My3WIf2AJxe7Mw131tjADAK1XK1/ahmOQC6P+Y8g2Gvjwbgxzd6A9C4TxcAEv/cCoBvb2fv3/6806/iFwsB+LVXawBO3nTWdMuqWQAIqlwXgPAflgAQez0egAI1nW9E89EazkTO/uXMrZ6zzi8PcfbHbBOcdXfh5UIs+cO5Jz2mO/fayFgAgDP9nGclT/XK2EnO8280eROA5MUfA/DXxj2UnpryHrUSAYga1gIAv8yZ8avS0OlX2rlHe16uT7CPcy7HUx7ryESDJlWyAxBYrAzLZ60FoGnblHOo2AwOO8cwGr+PHe3s/TFfvsi67RcAeLpnOwC2fTOHik86z6xt2/hkzua0PXEYvyzOMYbO+oP6uSyqdklZq0WqwJk/nLRfAMYTzj0636c8uSbsI+KVcgCsOxJHu1efd071zEHMuj0wcqasU8PkwgDnubYtm5yjfsXe46yPDSNG8mS35zAaDMJelrIXhBXFPrgVI2vKM5fnUQgMhYAQJ79jKfgGQGg28AkA4OaqGQQVL8ePc9bQ+IUWUMTZo6/PGUHIuz9CciL2GmednVr+A2vPWHTrWgueehEjSzF2d6oAwI0kg8txBs0HvkLijlX4PNGKxC1L8A7KAMDmH3+jxneHsdeOYNgH39KvRUH8OnzCyh6tabz8CMlTOwJgth1NwpQX8e32NfaGCVxc/T3JSRaZ8uXk2ukIwj6YS+K8d5iy9C9KZ7J54uPREJwFts2HGl0AEw6uhSLV4egWOOfsI6fWbiT/B1+BbwaW93ieejXy49/ufdi3ivM/LCH3yFXYJ7eClQTZCkPcDRJXjMX3pRnYaz6FXMUh4SbXv5/Cun1RNG1WATM0KzsWrmTLJZO+4wZjFG+CvelLOPMXlHwSbIszk0dxITKJim0aYTQbir1kIJSqjb1tMUalphiFa0FSLFeGtCTLRz+RPPtVzMcaYJRoCIk3sZOTmP78M3T+9CPYswp8AzCfn4idFMfKlqVoMHkJS7u25Ei0Qf8FcyDyHOxfi/HsKM71foxcb4+Hcwc49c141p+xqJ3fi7z16xF/6jA+GUIxn/2Qqc8145EQmxqt60Kxx4lZPpGAPAUw238BsVeY1rYxnV9/nuQT+/HKlA38Ajn63TKKfPAFJ4a+yuITBv03HcVOjgfbYnjN0gz4dixmiWYkjmuKV+3OxCwYSWCBIhgdJ2P4BGHN6ga1erD31VaUfWco1rYlmFVbQFAW2PsTCScP4tf1C2w7GSNDLuytkzAqPI8dcxl+n8eYkQvot2aHs46tZOzl70GFZkzq0pUebz5P5C/LWbTrOo2L+pDro7mwaylkyIxRsiFnBzYjz/BlEByGvWUiFK4GO5dh1H+L3ztVpdIHw+HINoxGgzjZuzonriZTq1dX4vdsYPTSk7yzdgvW3NcwGr4KhsGQZ5/Hx4SBG/eD6Y1hmNjR57Av7Mcs3pTxNfPT68OeGFVewJrVG+Pp/hhZHnHm7O2LffE0iZFX8es1E5ITIDgn2BY/NCtOk9kbsG9GYGTIjb2gP7/9sJUqXy7CzFsVa3E/KFqN+OVf4Js5G2br4eDlh/3HUo6PH0nhGX9BQgz2z6OZ8flcuqw/A1YyR57LT5Fv9zh7gk8g9sUD2N8PI+nmDXxav4uRowz23D4YbT6DuEjsjV9j1O0Hhom96hPMlqOxzm0Hb3+4eAgjbyXsszuY9Wo/Oq05xrDqRejbIAeBrd6EDFkxC9fHmtKW+Iiz+FVtTMLvq/B/+2dOdCxI/qcbQZHKGIVqEDO2PYHvrueHZx6hyXd7wMuXGx/VJPjDXyHmKvamrzEbvocdfR6S4rDXfg7FHses0Bm8fLHjIrEvH4bYKxghebHP/M6itwbRqv+LmLXfwlo1FKNSWxJmvIHfWz9jrR6MUf1l7BUfEL5mJSFZgwl6bgAkxBD30xSunblIWI0aGO0mQNw1jJDckBjL9ferEdTxI+fdbFsY3v7YiTEMefIxBrQriXebjzDzPYEdcxn7wDISf56O39u/AAbWifVweifHxo+icL3HIVt+zJZjsDZ/iVG6BSTcIGHqS/h2+hwjazHsuEjn79amD/YP73Nj6yoyDN4MVhKR7zxBxhHbsef2xnhuPPbpTZhFGmAtepXFk5bw7LI9LG1ejmYzfsDMURpr10w4uRuz1Tjs2KvYy9/DbD2OxM+b8OOP+2g6dSGLuram9eyVEJyDbe3KUaleebz7fI99/TxGQGas7d9iFG+Affo3sJJYOWggDQe8DlYyRpUXiHijGjk+WICRqQCGbwbnefXy4YeWZakxazsZC1YgKiqKkJCUd9JDot+YFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY8zbNu2/9eTuJvo6GhCQ0P5uIQX/l7Gf368LH7/7SXp9FKT/2zsuCP7Hup4/k80f6jjUajKQxnmt77t/1X/5H95i4O8H3yAoo+GPVC/A39EPFC/R0vluO8+pw/e37HyFM58X+29g4Lvue21MxfvuW1YpfL31O7Upt/vqV2Oornvqd3xvafu2qZkpw53Hyh/uTtWT+jz1l2H6PJk9jvWb9x54Y71mXzvPH7BXAG3rcsx4pfb1m3uUPWO4/52Of1/J3v941637XNx4dTb1v10MC7d8lp50z9OvuoVbzuWUSz9fSvu1yVpygLf/TXdtrGf1E63fM7qE2nKbncP6ldOe28Di5RM27BhvzRFibPTrh07KSlN2dQVR9KU5QpMe4gyWdzzBXumPaZ9wP1aJFy7nKaN6e3tlvfr/7Nb/vrAsm754A82pBnjylvua+vAiRtu+crVC7sfo+GL7gOc2e9Kxu/f6la1+7fjbvmqvdz7Jh/e4UovWrbXra7tqE9c6W0fvO0+zoivbpmw+zkbjd9LHf/bbq700qU73dq1/Gxsart137jSkxakzqNFST9X+pvdCW79X2+U05Xev/e8K1156jpX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A0dTvhtrdsLIUwn7xEaODHkdy4briQYVv5iPkSEP9q8TMap3ZdsLtTENOHzdoMPy3SRMaIfvS9OJG9cWw8sb37C8XA2/QLZhfxAVFUVISNq/B/0b+o1JERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8zrBt2/5fT+JuoqOjCQ0NZeUTBkHexn9+vGz+/+0lCc0S+J+Nna1MqYc63mczdz7U8RrnSn4o4+y89u9i6i2qZf9X/Seuu/TAfTs+5v9A/bYcjX2gfs3n/HzffW6ObX9f7ddvD7+v9tGJ9/4cZ/e79+fRusd2j1fMdU/tpvwccU/t+i7+6a5tzg5setc2ecZtu2P94a6P3XWMxae97lhfNdudr9ITdcvesX7Fj/tuW3cj6fb92o/46I7jXp42It3yrB3fvG2fhPVzb1u3b+vhdMtLVciXbnlidPRtx5qyOf261+enPf68rs+l27Z+yaB0yw+cuJGmrMJjYem29fIPSFPml7tA2oaPVEtTdH3xl2nKMtRtlbavb9r30+lpE9KU5R+/xS0/tE7VNG3e3em+L8yvnTNNmxaNH3XLf//TAbd8y28WuuU/btkmzRgDO5Zxy3t3meSWt38a6pbfNGuZWz5vxtRnJv8Tld3qxs/4zS3fZ9jrbvnzM75wpXO1eN79uGf+cqWNwAzukw4McSWPLVzsVlX4mYau9I6FK13pDRfc33v9xn3gSlvbl7vSsxelvrc7Pl/dlT67+Xe3/kcvJbrSj+ZPve/z98a50j1bl3alD/26x5UuOWo2AHvfSH1XPLY0db+0FvVNPVDpeq7k6E4v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+f61yTViJfaGieyZOY/yyy7yUfkw3t/8J7Ej6vP5irO82bYE3tWaQ2wUyX/8yv4NeyjbrSsEZ4ICFVnTsz0VijrfrTuPXKde+4ZQuSUr+/agbMlM5Jl8haioKEJCUr9lHwb9xqSIiIiIiIiIiIh4nAKTIiIiIiIiIiIi4nEKTIqIiIiIiIiIiIjHKTApIiIiIiIiIiIiHqfApIiIiIiIiIiIiHicApMiIiIiIiIiIiLicQpMioiIiIiIiIiIiMcpMCkiIiIiIiIiIiIed1+ByeHDh1OpUiUyZMhA9uzZad68OYcOHbprv4ULF1K8eHH8/f0pXbo0P/744wNPWERERERERERERP7vu6/A5IYNG+jduzfbtm1jzZo1JCYmUr9+fW7evHnbPlu2bKFdu3Z069aN3bt307x5c5o3b87+/fv/9eRFRERERERERETk/ybv+2m8cuVKt/y0adPInj07O3fupGbNmun2GTt2LA0bNqR///4ADBkyhDVr1jB+/HgmTpz4gNMWERERERERERGR/8v+1X9jMioqCoDMmTPfts3WrVupW7euW1mDBg3YunXrbfvEx8cTHR3t9kdERERERERERET+3/HAgUnLsnjttdd4/PHHKVWq1G3bRUREkCNHDreyHDlyEBERcds+w4cPJzQ01PUnb968DzpNERERERERERER+f+gBw5M9u7dm/379zNv3ryHOR8ABg4cSFRUlOvPmTNnHvoxRERERERERERE5H/nvv4bk3/r06cPK1asYOPGjeTJk+eObXPmzMmFCxfcyi5cuEDOnDlv28fPzw8/P78HmZqIiIiIiIiIiIj8H3BfvzFp2zZ9+vRhyZIlrFu3joIFC961T7Vq1fj555/dytasWUO1atXub6YiIiIiIiIiIiLy/4z7+o3J3r17M2fOHJYtW0aGDBlc/53I0NBQAgICAOjUqRO5c+dm+PDhALz66qs8+eSTjB49miZNmjBv3jx27NjBpEmTHvKpiIiIiIiIiIiIyP8V9/Ubk1999RVRUVHUqlWLsLAw15/58+e72pw+fZrw8HBXvnr16syZM4dJkyZRtmxZFi1axNKlS+/4f5gjIiIiIiIiIiIi/2+7r9+YtG37rm3Wr1+fpqx169a0bt36fg4lIiIiIiIiIiIi/w974P9XbhEREREREREREZEHpcCkiIiIiIiIiIiIeJwC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HTEbDwVsZ/1U6AIJN7Ai9mCE5IGkeIysxbBvXoS4KIwsRSE5gZghj+MdlAHf/uvASgQrGTv6HEbmwtgX9oF3IEZoHvD2d/bApW9iPj2UybXy0+3jfnDjGmaTj7FjLmMEZMaa1xPz+clYR1dhFmmQulknxWNtGE3i9pX4FCqN2WY8dvR5jKBs2ImxztqZ1R2jwyTs05sZ1u5FupbzJfekI84zcWQVVye8Seau72I82gLD33mP2eF7MMLKEje0Bv7vbMK+chQjSxGSxz+NVx9njzvdKQ+Z82Yl+MOt2DcvYC//EKq3xyxcz9kP550Gb19uvlseDJNJa87z6qxpmAVqYcdexb5+HjNXBaxFfTFbjUu5d6Od/S7/E1g7Z2BW7Ip19jfYOAXz+clgmM7+u38JxEZDtsKYj7bAjo2EGxec967hvCOsn4dh1hmEteoDjCf6YPiFsLV5PqotP491bC0c3ID59DDsK0fB2w97wRuY3RdgLegDlduS9N0QfN9YCYYXaxvmoHa7BhiNBzD92dp02RjBj/VzUL9JebxfWY598xKGb7Czj/kEYMdFYfgEsKpxXhosP4ZtJWH4Z3TdM7x8XPPETnbuWWge7MhT4J+J6/E2obmKEhUVRUhICA+TfmNSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPM6wbdv+X0/ibqKjowkNDWVwcS/8vYz//Hivtin5n44fse/QfzZ2nuc6P9TxTs389qGOV2Dibw9lHHv5B/+q/4nlP/6r/vuvPHjfP6MebA2/PeLVB+pnPtHnvvvs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h3X295RzS1lT53dihj3m5I2Ujzk72TmWYTrlyYlYx3/GLNrIqbeSXOcUN6wG/oN+db934Lw/vZ133Z8tslNy4WmsA0swy6Z+k9mRpzjT93HyTTsBZsq1+HUsZo2Ud3BiDHbCDee9kxSPEZwDO/Kks6YBa+mbmC3GYF/6EyPb7eNS8SOfwu+tX9zK7MhTGEHZwccfOy4q5TkwUs/fMFPzKXPBx/m7o309HCNDmKvKOrMVM2817NhrGAGZsI6v40aWCoTmKkJUVBQhIanfTg+DfmNSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPM6wbdv+X0/ibqKjowkNDWVYSS/8vYz//Hiv/3rsPx3fmt3jPxvbePq9hzrepfcaPdTxMhYp/FDGMb29/13/QmX/Vf+EfZseuK9vu8EP1vHcHw/Ubc3Hw+67T/0FO+6rfcLXne6rfVzE+Xtue+Ro5D23LVEm1z21u3jswj21Kzj3HudpJd29jXn3NWst6nvHeqPJh3cdY2TNR+9Y//b28DvWX+5T5I71WT7ZfPtK0+u2VfaRNXcc1yzTNt3y+JG1b9vHSoi/bZ3fEy3Sr0iMTbd4+KCJtx2rWwX/dMuzvzM7bWHC9XTbGjnLpVse+W6NNGUZh2xIt23EG9XSlOVo2SFN2YoxU9KUNahbPE2Zz1Pt05SZlV5I99j/dOPdCm75w/vTPitbL7n/22fPfmnv8W/fznPLZ/Bx/yQp2ekf51egfJoxjLDSbvmRTRu65bP4u4/Z7ac97v2Dc7rSy+rmdKtr+mxVt3z8Zfe9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WLFiFCtWzJWvXr06x44d47PPPmPmzJnp9hk+fDgfffTRfz01ERERERERERER+R/x2P+U+1aVK1fm6NGjt60fOHAgUVFRrj9nzpzx4OxERERERERERETkv/af/8Zkevbs2UNYWNht6/38/PDz8/PgjERERERERERERMST7jsweePGDbffdjxx4gR79uwhc+bM5MuXj4EDB3Lu3DlmzJgBwOeff07BggV59NFHiYuLY8qUKaxbt47Vq1c/vLMQERERERERERGR/1PuOzC5Y8cOnnrqKVf+jTfeAKBz585MmzaN8PBwTp8+7apPSEigX79+nDt3jsDAQMqUKcPatWvdxhAREREREREREZH//3LfgclatWph2/Zt66dNm+aWf+utt3jrrbfue2IiIiIiIiIiIiLy/67/yf/5jYiIiIiIiIiIiPz/NwUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4wzbtu3/9STuJjo6mtDQUA61DiSDj/GfHy8pMfk/Hd8vwOc/G/tyxI2HOp6P18O93ktOP5xY+Fu/n/9X/T+tnOtf9c8f/OCPTavpSx6o39IuLR6oX4lQ67775Mwbel/tJ265v3XnfR/L6s11u++57cFOZe6pXbExC+6pXczk1+6p3Zad4XdtcyX+7iedM+DO6+qpHy/cdYzYj6vfsd7/zR/vWH9zSK071n+z7vZzeGXdgdvW2T+PuvNxf12WbnnwW+mXA9grBt+2zuw0Ld1ya97L6ZYvnPz9bceqlD39e1dozpm0hUlx6bZNntI+3fLR035PU/bm4vTP+eonz6cpy/rF4TRldlTaeR3oWilNWVxy2vPKEuSVpiwhISlNWViBzG75fQevpWnzxIp/7NNJ8WnafN+4kFs+T6D7flW2XmW3vFefFWnGuPbaI2750L4T3PI/vux+7S/FuZ+39y2vpQ4//OFWZ/hlcD+Y6X59TrTP70rnHz7PrS5yTDdXOvMY93FJTnAlrUt/uVWt7/6MK338RupcX/zllFu74x0KuNIFx65KnXOO9PdBO+aKW/5IxxKudJFOnVP7N3jXld7TtqgrXfaNt1PbVOri/Lz1+nj5upJDK4a50oPW7XSlR9WtAED/Xw+l9vMLcSUnPZHTle7xa8r6MVJvkHVmq5PYNttVZrYalzpWSlv70sHUoozOPbIuOPfAzPWYq86OiwIgbkzqNU+OjQHgxqVIALJ3fjP1WI/3SenofCfaEan31Vr8PgBT5zrP9Is9mzgVIdkA2D7pW1fbSn1S9iF/59zN6j2dvE8gbmzneYj9+HEAlv9yAoA2K4+mtA9IOXjKd+vfn/Tefn8P4F5uuH+D7WqWHYDyyy4CMKG6c/1f7u3M3XxuIng536w333WuW9DHzjvZOvITABEjXiYkRyanrr+zd81oVgWAji8/g/HMUOccPm0MQOCH250pXQ/HyBDmdp72xf2p6zflGls/vIf59DAAPiofxge7nPetfcN5F9lH12KWS33G/17nk+s/So9NEU7ZzUvO6QdlAytlPzO9sS/sc8qzlQTT22kbvgsjrDwkxjrHj9iDmbca6bKSGFY5LwCDtp3ksycKAPD6tpRvguRE56eXD9aKQc5hU87l73tjx17jfO9y5P7mdOq4CTfBN8iVPdUxN/mnHMS2nPFuflybwO7jYO9yzi1x9p28U44ABvb18xiZCrqdZ+rFSVknhhfW2qGYdd/BmtsD45mhzrX5+7RWvs+5ed+Sd/Jhp49vcGrd5vEYRWph5CiFtWE0RqlnMLIUSZlzajuSE8DLlwsvFyTHxBOQFId9+RBG9pLYNy5hhORym+PYamG8+usJ8PbHWtafjwfP4v2tR8Db3+0czr+Yn1xTTqVcP2d/tOOiMPxD2dc8O2WWOmvZvnoMI1MB1/mmd+/smCsYwTmcfHx06vwTbrj2pZMdcpOvfVcmDJlCn01nU+aSeux/jonp7axnw0zNg1NmJYGXL9ae2Zjl2vNl9Zz03hKRdpjj6zAL1XbOyy/Y7RwuvFyQHF8dTfecrJXvYzZ0vovs2GsYAZmwJrfG7L4Qa89sjEK1MEJyp533rRJjiRlak8APt2Od3oKZtyp29DnsH4dgtv0SK3wPZthj7uvKOaLrmthRZzACMjn7kOlN7JDqBAzaCF4+2NdOONc8Za+zI085e3RyotPd9Em9fn/fl5R7YUedBb9gDP+M6Uz81ntym/vz9/WbeALr+FrMQnVd1+me3HIP3VhJzh5rev1jj7Uh/gb8/Z5MinPW89/nlxjjvuf/47m/4zwME/t6OPZfKzArd3etGdfYdnLaNZJww/0ZvXVO/9ataz3thLnd/fi7n31hP0aOUqnlibGp7ze3odI5r/udW3Ki67122zn+fa3+OY+k+Fver/8YIeYyRmDWe5hPorPO75ednLLO/nGdkxOwE2Mx/O/v7+53PFTMFYzALOnWRUdfJzSsEFFRUYSEhKTb5kHpNyZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4xSYFBEREREREREREY9TYFJEREREREREREQ8ToFJERERERERERER8TgFJkVERERERERERMTjFJgUERERERERERERj1NgUkRERERERERERDxOgUkRERERERERERHxOAUmRURERERERERExOMUmBQRERERERERERGPU2BSREREREREREREPE6BSREREREREREREfE4BSZFRERERERERETE4wzbtu3/9STuJjo6mtDQUK59/w4hQf7/+fF++/iD/3T8zZf+u3hw83zWQx2vyMILD3W8kZXDHso4b456698NcPHEv+q+f9a8B+5bsHj2B+oXPGjVA/Vb0qLCffepmMf7vtrvPpd0X+2bDn7/3htHnb/npkbNV++pnX1k9T212//h6/fU7kaScdc21RYdvmub9S0fuWN9Nr+7b9elvrvz9bKvHrtjvZG12F2PcTvWyY23rYv4uOMd+4aN35dueeKXrW7b5+L+g7etyz1yTbrlN0Y9m275zF+v3Hasl78el265WSqdsQyv9Aex09+b7StH0pRNb/lkum27bDiXpmxd41xpymp1bpGmbNPMJWnKNkakfRe9+WyRNGV+3b5MU5Y4q59b3rdfOs/UP875Qs+0Y2cfuemOfYzQvP+oT04zxoxaud3yxULcn5NKbZu45Q8tXuGWD49NfX6fmum+hv/5PNjhe9zyibPecKV9+6/7x1xvOZekOLcq69wOV9osUNO97shPt0wgdW5mvhru4/sGpX8sI/W+Dq+U+s4duD3crfu4aql1fRYuTT1Onsq3tEp/b4vuVxyA4O4jUvsVb+ZKX+6Teq+zjj/qSk9/MicAnTdEpDuu9WfqPPh1hjPuS4vT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TNbX18fNN98c9fX1wx0KAABlWK8BAIxsQ7leG9OfmAQAAAAARqYx/YlJAAAAAGBkkpgEAAAAABInMQkAAAAAJE5iEgAAAABI3LhNTH7605+Oww8/PC666KLhDgUAgANs2bIlFi5cGB/4wAfi1FNPjYcffni4QwIAoJcdO3bEvHnzorm5OU455ZS49957ax5j3P5W7nXr1kVbW1vcd9998cgjjwx3OAAA9LJ169ZoaWmJ5ubm2LZtW5x++unx0ksvxaGHHjrcoQEAEBFdXV3R0dERU6ZMifb29jjllFNi48aNceSRR1Y9xrj9xOTChQtj6tSpwx0GAABlzJo1K5qbmyMiYubMmTF9+vTYvn378AYFAECPurq6mDJlSkREdHR0RC6Xi1o//zgqE5Pr16+P888/P44++uhIpVKxevXqkjYrV66MY489NiZPnhzz58+Pp59+OvlAAQDGqcFcrz377LPR1dUVc+bMGeKoAQDGj8FYr+3YsSOamppi9uzZceONN8b06dNrimFUJibb29ujqakpVq5cWbb+wQcfjOXLl8fNN98czz33XDQ1NcXixYvj7bffTjhSAIDxabDWa9u3b4+lS5fGPffck0TYAADjxmCs16ZNmxbPP/98bN68Ob7//e9HS0tLTTGM+u+YTKVS8YMf/CAuvPDCnrL58+fHGWecEStWrIiIiGw2G3PmzInrrrsuvvSlL/W0W7duXaxYscJ3TAIADKGBrtc6Ojri4x//eFx11VXx+c9/fjhCBwAYFw4mv9btmmuuiXPPPbemXzQ9Kj8x2Ze9e/fGs88+G4sWLeopS6fTsWjRotiwYcMwRgYAQER167VcLheXXXZZnHvuuZKSAAAJq2a91tLSEm1tbRER0draGuvXr4+TTjqppnnGXGLyd7/7XXR1dcWMGTOKymfMmBHbtm3reb9o0aK4+OKL40c/+lHMnj1b0hIAICHVrNeefPLJePDBB2P16tXR3Nwczc3N8cILLwxHuAAA404167XXX389zj777Ghqaoqzzz47rrvuuvjQhz5U0zwTBi3iUebxxx8f7hAAAKjgrLPOimw2O9xhAABQwZlnnhmbNm06qDHG3Ccmp0+fHnV1dSVfttnS0hIzZ84cpqgAAOhmvQYAMLIltV4bc4nJSZMmxemnnx5r167tKctms7F27dpYsGDBMEYGAECE9RoAwEiX1HptVP5T7p07d8bLL7/c837z5s2xadOmOOKII+KYY46J5cuXx7Jly2LevHlx5plnxu233x7t7e1x+eWXD2PUAADjh/UaAMDINhLWa6lcLpcbtNESsm7dujjnnHNKypctWxarVq2KiIgVK1bErbfeGtu2bYvm5ua44447Yv78+QlHCgAwPlmvAQCMbCNhvTYqE5MAAAAAwOg25r5jEgAAAAAY+SQmAQAAAIDESUwCAAAAAImTmAQAAAAAEicxCQAAAAAkTmISAAAAAEicxCQAAAAAkDiJSQAAAAAgcRKTAAAAAEDiJCYBAAAAgMRJTAIAAAAAiZOYBAAAAAASJzEJAAAAACTu/wMFO6L+yL369wAAAABJRU5ErkJggg==\n"
100 | },
101 | "metadata": {}
102 | }
103 | ]
104 | },
105 | {
106 | "cell_type": "code",
107 | "source": [
108 | "figure,plot=pl.subplots(figsize=(ten*GoldenRatio,ten))\n",
109 | "plot.pcolormesh(X,Y,Z,cmap='terrain')\n",
110 | "plot.set_xscale('log')\n",
111 | "plot.xaxis.set_major_formatter(CountLabels(0))"
112 | ],
113 | "metadata": {
114 | "id": "FniA_fHbfy14",
115 | "outputId": "499ec5ae-e085-4b08-e209-dce1c6ae22db",
116 | "colab": {
117 | "base_uri": "https://localhost:8080/",
118 | "height": 830
119 | }
120 | },
121 | "execution_count": 13,
122 | "outputs": [
123 | {
124 | "output_type": "display_data",
125 | "data": {
126 | "text/plain": [
127 | ""
128 | ],
129 | "image/png": "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9tUAAAAAABNCpmBzy5YtsWLFinjwwQfjvvvuixdffDHOPPPM2L9/f8V+ra2tsXv37v7b//zP/wx6/Lrrrosbb7wxbrnllnjooYfiZS97WSxevDief/757CsCAAAAAMa9I7I03rRp06D7nZ2dMX369Ni+fXu84x3vKNuvqakpZs6cWfKxQqEQ69ati09+8pNx7rnnRkTE7bffHjNmzIiNGzfGsmXLspQIAAAAAEwAQ/qOzVwuFxER06ZNq9hu37598ZrXvCbmzJkT5557bvz0pz/tf2zHjh3R29sbixYt6j/W1tYW8+fPj23btpUc78CBA5HP5wfdAAAAAICJo+5g89ChQ7Fq1ap461vfGieeeGLZdieccELceuut8e1vfzu++tWvxqFDh+Itb3lLPPXUUxER0dvbGxERM2bMGNRvxowZ/Y8VW7t2bbS1tfXf5syZU+8yAAAAAIAE1R1srlixIh599NHYsGFDxXYLFiyICy64INrb2+Od73xnfOtb34qjjz46/umf/qneqWPNmjWRy+X6b7t27ap7LAAAAAAgPZm+Y7PPypUr4+67746tW7fGMccck6nvS17ykjjllFPi8ccfj4jo/+7NPXv2xKxZs/rb7dmzJ9rb20uO0dLSEi0tLfWUDgAAAACMA5k+sVkoFGLlypVx1113xf333x9z587NPOHBgwfjP/7jP/pDzLlz58bMmTNj8+bN/W3y+Xw89NBDsWDBgszjAwAAAADjX6ZPbK5YsSLuuOOO+Pa3vx1Tp07t/w7Mtra2mDJlSkREXHDBBfHqV7861q5dGxER1157bfzRH/1RHH/88bF379747Gc/G//zP/8Tl156aUT8/i+mr1q1Kj796U/H6173upg7d25cccUVMXv27Fi6dGkDlwoAAAAAjBeZgs2bb745IiIWLlw46Phtt90WF110UURE7Ny5MyZN+r8Pgv7617+O97///dHb2xuveMUr4tRTT40f/vCH8aY3vam/zeWXXx779++P5cuXx969e+Ntb3tbbNq0KSZPnlznsgAAAACA8SxTsFkoFKq26erqGnT/+uuvj+uvv75in6amprj22mvj2muvzVIOAAAAADBB1f1X0QEAAAAARotgEwAAAABIjmATAAAAAEiOYBMAAAAASI5gEwAAAABIjmATAAAAAEiOYBMAAAAASI5gEwAAAABIjmATAAAA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NgEAAACA5Ag2AQAAAIDkCDYBAAAAgORkCjbXrl0bp512WkydOjWmT58eS5cujccee6xqv2984xvxhje8ISZPnhwnnXRSfPe73x30eKFQiCuvvDJmzZoVU6ZMiUWLFsXPf/7zbCsBAAAAACaMTMHmli1bYsWKFfHggw/GfffdFy+++GKceeaZsX///rJ9fvjDH8b5558fl1xySfz4xz+OpUuXxtKlS+PRRx/tb3PdddfFjTfeGLfccks89NBD8bKXvSwWL14czz//fP0rAwAAAADGrSOyNN60adOg+52dnTF9+vTYvn17vOMd7yjZ54YbboizzjorPvaxj0VExKc+9am477774vOf/3zccsstUSgUYt26dfHJT34yzj333IiIuP3222PGjBmxcePGWLZsWT3rAgAAAADGsSF9x2Yul4uIiGnTppVts23btli0aNGgY4sXL45t27ZFRMSOHTuit7d3UJu2traYP39+f5tiBw4ciHw+P+gGAAAAAEwcdQebhw4dilWrVsVb3/rWOPHEE8u26+3tjRkzZgw6NmPGjOjt7e1/vO9YuTbF1q5dG21tbf23OXPm1LsMAAAAACBBdQebK1asiEcffTQ2bNjQyHpqsmbNmsjlcv23Xbt2jXgNAAAAAMDoyfQdm31WrlwZd999d2zdujWOOeaYim1nzpwZe/bsGXRsz549MXPmzP7H+47NmjVrUJv29vaSY7a0tERLS0s9pQMAAAAA40CmT2wWCoVYuXJl3HXXXXH//ffH3Llzq/ZZsGBBbN68edCx++67LxYsWBAREXPnzo2ZM2cOapPP5+Ohhx7qbwMAAAAAMFCmT2yuWLEi7rjjjvj2t78dU6dO7f8OzLa2tpgyZUpERFxwwQXx6le/OtauXRsRER/+8Ifjne98Z3zuc5+Ls88+OzZs2BDd3d2xfv36iIhoamqKVatWxac//el43eteF3Pnzo0rrrgiZs+eHUuXLm3gUgEAAACA8SJTsHnzzTdHRMTChQsHHb/tttvioosuioiInTt3xqRJ//dB0Le85S1xxx13xCc/+cn4xCc+Ea973eti48aNg/7g0OWXXx779++P5cuXx969e+Ntb3tbbNq0KSZPnlznsgAAAACA8SxTsFkoFKq26erqOuzYeeedF+edd17ZPk1NTXHttdfGtddem6UcAAAAAGCCqvuvogMAAAAA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\n"
130 | },
131 | "metadata": {}
132 | }
133 | ]
134 | },
135 | {
136 | "cell_type": "code",
137 | "source": [],
138 | "metadata": {
139 | "id": "cj0nyxfdoNjY"
140 | },
141 | "execution_count": null,
142 | "outputs": []
143 | }
144 | ]
145 | }
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Financial Data Science in Python
2 | This GitHub repository
3 | https://github.com/Farmhouse121/Financial-Data-Science-in-Python
4 | collects the scripts and notebooks required to reproduce my published work. This includes both the articles that I have written in _Willmott_ magazine and my forthcoming book, which will also be titled _Financial Data Science in Python_.
5 |
6 | I will be featuring _mostly_ notebooks prepared for the Google _colab_ system, although I **strongly** reccommend using a more "procedural" workflow than most notebook users adopt. For analytical work it is important that the _internal state_ of the analytical system in use be _well known_ when an _inferential procedure_ is executed. Notebooks tend to encourage a "spaghetti" workflow that is not conducive to the internal state being well known. It is my intention that the notebooks, therefore, always be executed _from the beginning to the end_ in one session. Breaking the work into "cells" is provided for narrative convenience only.
7 |
8 | ## my_library.py
9 | A key file for all of my work will be the `my_library.py` _mini-package_. I write "mini" because it's simply a file, and it does not provide a novel software suite. It just imports most of the stuff I always import and provides a few, key, custom writtent extensions and utilities. That file will exist here, in the top level of this repository, and every independent analysis will sit in a folder below. When imaged onto a computer (with `git clone https://github.com/Farmhouse121/Financial-Data-Science-in-Python.git`, for example) each subfolder should _symlink_ to the parent version. On Unix systems, this is done via the command line with `ln -s ../my_library.py` from within the sub-folder, although `git` should copy all of those links automatically. (On Windows systems there is the `mklink my_library.py ..\my_library.py` command that can be used to execute this functionality in the shell, although I don't have a windows machine and haven't tried that personally.)
10 |
11 | To run this file from within a Python script, just include the line
12 | ```
13 | from my_library import *
14 | ```
15 | at the beginning. This will produce an identical internal state to having pasted all of the included code into a single file or cell and then executed it.
16 |
17 | ### Changes and Idiosyncracies
18 | All of the scripts are going to include useage of four "standard" packages, and three are imported wholly in `my_library.py`.
19 |
20 | ```
21 | import numpy as np
22 | import pandas as pd
23 | import matplotlib.pyplot as pl ; plt=pl
24 | ```
25 |
26 | I know that `pyplot` is usually imported as `plt`, not `pl` as I have, but I use it so much that having a two-letter namespace prefix is worthwhile to me and it's my computer, I get to chose the abstractions I like. For those who wish to follow the conventional usage, I have aliased it to `plt`. Feel free to use either prefix -- it's your computer -- and if you wish to "take back" the variable `pl`, Python will let you do that too.
27 |
28 | For the record, I am also going to invoke `matplotlib` _mostly_ via the construct
29 |
30 | ```
31 | figure,plot=pl.subplots(figsize=(ten*GoldenRatio,ten))
32 | ```
33 |
34 | You will find the _friendly numbers_ `ten` and `GoldenRatio` defined to their correct values inside `my_library.py`. My experience with numerical computation, over many years, in many languages and on many platforms, has taught me that typing one of `10`, `10.`, and `10e0` **will not guarantee** that you end up with the same IEEE floating point number stored in a CPU register on your computer. My assignment `ten=10e0` and usage as just `ten` guarantees that I will always get the same number. You may not find this particularly important immediately, but you will as soon as you try to represent `one/ten` in binary on any computer of your choice.
35 |
36 | Also, I'm using `figure,plot` not `fig,ax` in my code. I like _long descriptive names_ and these describe what I am making: a figure that contains a plot. (An axe is something that I use to split wood but, earlier in my career, it represented the bonds that a trading desk wanted to sell, occasionally _desperately_.)
37 |
38 | ### Statsmodels
39 | I will use `statsmodels` as my primary inference engine, but will not usually import the entire package into the namespace. I _really_ try to decrease namespace pollution where ever possible! Estimation is optimization of statistical models with inference about the presented results. The chain of actions -- modeling, estimation, inference -- represents empirical science. Mere optimization, such as that provided by `scikit.learn`, _without inference_ is not science. It is not merely necessary to know which set of parameters, whether latent, explicit or "hyper," give the best performance of your system _in sample_, we also need to know, or have some indication of, whether the selected performance differs significantly from that accessible by chance. What `statsmodels` does is the _hard work_ of adding the metrics of statistical inference to the output of optimization. I value that greatly.
40 |
41 | ### arch
42 | I'm going to use Kevin Sheppard's `arch` package as well, with some modifications to lessen the bounds on various regressions. This is an excellent and useful tool, although I feel Dr. Sheppard has erred in doing things like excluding the Laplace distribution via parametric constraints, etc. After a brief discussion with him, I follow his recommended path of deriving new versions of his classes `GeneralizedError` and `GARCH`, which I call `GeneralizedError2` and `GARCH2` (somewhat unoriginally). These are defined within `my_library.py`.
43 |
44 | ### scipy
45 | I'm going to use code from `scipy`, mostly `scipy.stats` and, occasionally, `scipy.optimize` directly (rather than via `statsmodels` or `arch`). I use the distributions and tests from `scipy.stats`, but often find that they have annoyingly short or annoyingly long names. Thus you will see things like:
46 | ```
47 | from scipy.stats import t as density
48 | ```
49 | and
50 | ```
51 | from scipy.stats import scipy.stats.ttest_1samp as ttest
52 | ```
53 | **I** would much rather import only the functions I need, rather the entire package, or give my self the ability to switch distributions easily, in later code...
54 | ```
55 | #from scipy.stats import t as density
56 | from scipy.stats import norm as density
57 | ```
58 | etc.
59 |
60 | ### nprint
61 | I find that, in notebooks, knowing _when_ code executed is so useful that attaching times to print statements is very useful. Thus `my_library.py` includes the following function definitions:
62 | ```
63 | from datetime import datetime ; date_format,time_format="%Y-%m-%d","%H:%M:%S" ; datetime_format=date_format+" "+time_format
64 |
65 | def now():
66 | """Quickly return the time."""
67 | return datetime.now().strftime(time_format)
68 |
69 | def nprint(*args,**kwargs):
70 | """Decorate the print statement with the time."""
71 | print(now(),*args,**kwargs)
72 | stdout.flush()
73 | ```
74 | To use it, use `nprint` as you would `print`. e.g.
75 | ```
76 | nprint("Hello world!")
77 | ```
78 | should output:
79 |
80 | 
81 |
82 | ## The Articles
83 | This repository is going to include all of the code supporting the new book I am writing, _Financial Data Science in Python_. **But**, I am also going to be writing on Medium at [https://medium.com/@stattrader](https://medium.com/@stattrader). I will include links to each article _and_ the relevant folder within this repository below. Since this `README` is fairly long, it will also serve as the first article.
84 |
85 | | Title | GitHub | Medium |
86 | |-------|--------|--------|
87 | | Financial Data Science in Python | [README](https://github.com/Farmhouse121/Financial-Data-Science-in-Python/README.md) | [Financial Data Science in Python](https://stattrader.medium.com/financial-data-science-in-python-ee66dab460cf) |
88 | | The Market's Not Normal: Part 1 | [The_Market's_Not_Normal.ipynb](https://github.com/Farmhouse121/Financial-Data-Science-in-Python/blob/2fe3ae6dc08dc80d2f5d0c38ba0562e01f1c7415/The%20Market's%20Not%20Normal/The_Market's_Not_Normal.ipynb)| [The Market's Not Normal, Part 1](https://medium.com/adventures-in-data-science/the-markets-not-normal-part-1-bbba8dad2807) |
89 | | The Market's Not Normal: Part 2| [These_Two_Things_are_Not_the_Same.ipynb](https://github.com/Farmhouse121/Financial-Data-Science-in-Python/blob/2fe3ae6dc08dc80d2f5d0c38ba0562e01f1c7415/The%20Market's%20Not%20Normal/These_Two_Things_are_Not_the_Same.ipynb) | [The Market's Not Normal: Part 2](https://medium.com/adventures-in-data-science/the-markets-not-normal-part-2-cf8c4060f6b4)|
90 | | Can Non-Stationarity Rescue the Normal Distribution? | [Non_Stationarity_in_the_First_Two_Moments.ipynb](https://github.com/Farmhouse121/Financial-Data-Science-in-Python/blob/2fe3ae6dc08dc80d2f5d0c38ba0562e01f1c7415/The%20Market's%20Not%20Normal/Non_Stationarity_in_the_First_Two_Moments.ipynb) | [Can Non-Stationarity Rescue the Normal Distribution?](https://medium.com/adventures-in-data-science/can-non-stationarity-rescue-the-normal-distribution-4af9f708b26a)|
91 | | Let's Talk About Heteroskedasticity | [The_Variance_is_Not_Stationary.ipynb](https://github.com/Farmhouse121/Financial-Data-Science-in-Python/blob/main/The%20Market's%20Not%20Normal/The_Variance_is_Not_Stationary.ipynb) | [Let's Talk About Heteroskedasticity](https://medium.com/@stattrader/lets-talk-about-heteroskedasticity-f1443d628da0)|
92 |
93 | ## The Data
94 | I am going to use public domain data sources, which will be mostly _Yahoo! Finance_, accessed via the `yfinance` package, and the _Fred_ depository, operated by the Federal Reserve Bank of St. Louis with data downloaded directly via the web service they provide. This is mostly daily and slower cadence data. Most of what I will write about lives in that space.
95 |
96 | ## Making Proper Time Indices for Pandas
97 | It's been my experience that many codes return Pandas dataframes with a timestamp field for an axis but that the system is _not properly told_ that the data is, in fact, temporal in nature. (I'm looking at you **everybody** who uses textual dates as their timestamps!) This error can be remedied with the following construct, which you will see _extensively_ in my code:
98 | ```
99 | df=pd.DataFrame(...)
100 | df.index=pd.DatetimeIndex(df.index).to_period('B')
101 | ```
102 | which delivers an index of _business days_, for example. (I am grateful to [Alex De Castro](https://github.com/decastro-alex) for pointing out the existence of the `B` argument to me.)
103 |
104 | ## $\LaTeX$ "Scratchpads"
105 | Since my writing contains _a lot_ of mathematics, which I generally render in $\LaTeX$ and then cut'n'paste into less civil document preparation systems, I've decided to add documents that include the _math mode code_ to generate the equations. These will not render as full $\LaTeX$ documents (as I am not writing the Medium articles in $\LaTeX$, I'm not going to go through the bother of preparing an analogue document for antoher format). If Medium would support $\LaTeX$ markup, in the way that GitHub does, then that would change.
106 |
107 | ## There Will be Many Commits
108 | I have learned from three decades doing scientific research & development work that it is very hard to predict which of the many edits to a script will be the _final_ one that makes it all work. In addition, I've learned that memorializing that "first working version" with a weighty editorial commit will be immediately followed by an "oh yea, also" commit to follow a few minutes later. So I don't really try, I commit when I think I've done something useful and don't shy away from committing frequently. This is particularly useful if one uses GitHub, _as I do_, to synchronize code between different physical locations (e.g. my desktop and an AWS server, for example). This may be "bad practice," but it is my practice.
109 |
110 | ## Support
111 | I appreciate the many positive comments I receive regarding my work and my attempts to explain aspects of the scientific analysis of financial markets to people. If you would like to _directly_ support this work, you can _Buy me a Coffee_ via the link below. [](https://ko-fi.com/H2H7EC7Z5)
112 |
113 | You may also buy my books via Amazon and other booksellers.
114 |
115 | * [Adventures in Financial Data Science](https://medium.com/r/?url=https%3A%2F%2Famzn.to%2F3P66fyK)
116 | * [Essays on Trading Strategy](https://medium.com/r/?url=https%3A%2F%2Fwww.amazon.com%2FEssays-Trading-Strategy-Scientific-Finance%2Fdp%2F9811273812)
117 |
--------------------------------------------------------------------------------
/The Market's Not Normal/my_library.py:
--------------------------------------------------------------------------------
1 | my_library.py
--------------------------------------------------------------------------------
/The Market's Not Normal/not_the_same.tex:
--------------------------------------------------------------------------------
1 | This is a ``scratchpad'' to generate the \LaTeX equations used in my articles. It will not run as a stand-alone LaTeX source document.
2 |
3 | \DeclareMathOperator*{\argmax}{arg~max}
4 | \DeclareMathOperator*{\argmin}{arg~min}
5 |
6 | \begin{equation}
7 | \ln\mathbb{P}[\mathrm{model}|\mathrm{data}]=\ln\mathbb{P}[\mathrm{data}|\mathrm{model}]+\ln\mathbb{P}[\mathrm{model}]-
8 | \ln\mathbb{P}[\mathrm{data}]
9 | \end{equation}
10 |
11 | \begin{equation}
12 | \Rightarrow\argmax_{\boldsymbol{\theta}}\ln\mathbb{P}[\mathrm{model}(\boldsymbol{\theta})|\mathrm{data}]=\argmax_{\boldsymbol{\theta}}\mathbb{L}[\mathrm{data}|\boldsymbol{\theta}]
13 | \end{equation}
14 |
15 | \begin{align}
16 | \hat{\boldsymbol{\theta}}&=\argmin_{\boldsymbol{\theta}}\sum_i\Big|x_i-x(\boldsymbol{\theta})\Big|\\
17 | \textit{or}\;
18 | \hat{\boldsymbol{\theta}}&=\argmin_{\boldsymbol{\theta}}\sum_i\Big(x_i-x(\boldsymbol{\theta})\Big)^2
19 | \end{align}
20 |
21 | \begin{align}
22 | y_i&=\alpha+\beta x_i+\varepsilon_i : \varepsilon_i\sim\mathcal{D}\\
23 | \Rightarrow\;\varepsilon_i&=y_i-\alpha-\beta x_i
24 | \end{align}
25 |
26 | \begin{align}
27 | (\hat{\alpha},\hat{\beta})&=\argmax_{(\alpha,\beta)}\sum_i\ln f(\varepsilon_i)\\
28 | &=\argmax_{(\alpha,\beta)}\sum_i\ln f(y_i-\alpha-\beta x_i)
29 | \end{align}
30 |
31 | \begin{equation}
32 | f(\varepsilon,\boldsymbol{\theta})=g(\varepsilon)h(\boldsymbol{\theta})e^{-q\left|\frac{\varepsilon}{\sigma}\right|^\kappa}\;\mathrm{where}\;\{q,\sigma,\kappa\}\subseteq\boldsymbol{\theta}
33 | \end{equation}
34 |
35 | \begin{equation*}
36 | (\hat{\alpha},\hat{\beta})=\argmin_{(\alpha,\beta)}\left\{
37 | \sum_{i=1}^Nq\left|\frac{y_i-\alpha-\beta x_i}{\sigma}\right|^\kappa
38 | -\sum_{i=1}^N\ln g(y_i-\alpha-\beta x_i)-N\,\ln h(\boldsymbol{\theta})\right\}
39 | \end{equation*}
40 |
41 | \begin{equation}
42 | f(y_i-\alpha-\beta x_i,\sigma)=\frac{e^{-\frac{1}{2}\left(\frac{y_i-\alpha-\beta x_i}{\sigma}\right)^2}}{\sqrt{2\pi}\sigma}\Rightarrow
43 | \begin{cases}
44 | q=\frac{1}{2}\\
45 | \kappa=2\\
46 | \ln g(y_i-\alpha-\beta x_i)=0\\
47 | \ln h(\boldsymbol{\theta})=-\ln(\sqrt{2\pi}\sigma)
48 | \end{cases}
49 | \end{equation}
50 |
51 | \begin{equation}
52 | (\hat{\alpha},\hat{\beta})=\mathop{\mathrm{arg~min}}_{(\alpha,\beta)}\sum_{i=1}^N(y_i-\alpha-\beta x_i)^2
53 | \end{equation}
54 |
55 | \begin{equation}
56 | f(y_i-\alpha-\beta x_i,\sigma)=\frac{e^{-\left|\frac{y_i-\alpha-\beta x_i}{\sigma}\right|}}{2\sigma}\Rightarrow
57 | \begin{cases}
58 | q=1\\
59 | \kappa=1\\
60 | \ln g(y_i-\alpha-\beta x_i)=0\\
61 | \ln h(\boldsymbol{\theta})=-\ln(2\sigma)
62 | \end{cases}
63 | \end{equation}
64 |
65 | \begin{equation}
66 | (\hat{\alpha},\hat{\beta})=\mathop{\mathrm{arg~min}}_{(\alpha,\beta)}\sum_{i=1}^N|y_i-\alpha-\beta x_i|
67 | \end{equation}
68 |
69 | \begin{align}
70 | \mathcal{D}=\mathrm{Normal}&\Leftrightarrow\hat{\alpha}=
71 | \mathop{\mathrm{mean}}\{x_i\}\\
72 | \mathcal{D}=\mathrm{Laplace}&\Leftrightarrow\hat{\alpha}=
73 | \mathop{\mathrm{median}}\{x_i\}
74 | \end{align}
75 |
76 |
--------------------------------------------------------------------------------
/my_library.py:
--------------------------------------------------------------------------------
1 | from __future__ import annotations
2 |
3 | # this is designed to set up every notebook or executable script properly with common resources
4 | from sys import stdout,stderr,executable,version_info
5 | assert version_info.major>=3
6 |
7 | from datetime import datetime
8 | DATE_FORMAT,TIME_FORMAT='%m/%d/%Y','%H:%M:%S'
9 | DATETIME_FORMAT=DATE_FORMAT+" "+TIME_FORMAT
10 |
11 | def now(format=TIME_FORMAT):
12 | """Quickly return the time."""
13 | return datetime.now().strftime(format)
14 |
15 | def today(format=DATE_FORMAT):
16 | """Quickly return the date."""
17 | return datetime.now().strftime(format)
18 |
19 | def nprint(*args,**kwargs):
20 | """Decorate the print statement with the time."""
21 | print(now(),*args,**kwargs)
22 | stdout.flush()
23 |
24 | nprint("Starting...")
25 |
26 | # allow code to use the SIGALARM functionality to interrupt itself in a controlled fashion
27 | from signal import signal,SIGALRM,alarm
28 |
29 | class Timeout(Exception):
30 | """Permits time limits."""
31 | def __str__(self):
32 | return "Timeout."
33 |
34 | def sigalrm(x,y):
35 | """Handle SIGALRM by raising a Timeout exception."""
36 | raise Timeout
37 |
38 | signal(SIGALRM,sigalrm) # register the handler
39 |
40 | # allow deep breaks, the python break syntax can only break out one level
41 | class Break(Exception):
42 | """Permits deep breaks."""
43 | def __str__(self):
44 | return "Break"
45 |
46 | # passive wrapper for with clauses for objects that don't provide __enter__ and __exit__
47 | class With:
48 | """Dummy for with clauses."""
49 | def __enter__(self):
50 | return self
51 |
52 | def __exit__(self,*args):
53 | pass
54 |
55 | def __init__(self,object=None):
56 | self.object=object
57 |
58 | def __call__(self):
59 | return self.object
60 |
61 | def __str__(self):
62 | return str(self.object)
63 |
64 | def __repr__(self):
65 | return repr(self.object)
66 |
67 | # deal with some Google colab specific stuff
68 | try:
69 | from IPython import get_ipython
70 | ip=get_ipython()
71 |
72 | if ip is not None and 'google' in str(ip):
73 | for package in 'yfinance','arch':
74 | nprint("Installing %s into Google notebook..." % package)
75 | ip.system("pip install --upgrade %s 1>/dev/null" % package)
76 |
77 | from tqdm.notebook import tqdm
78 |
79 | except ModuleNotFoundError:
80 | # if IPython not installed, we're definitely not in a notebook
81 | from tqdm import tqdm
82 |
83 | from warnings import filterwarnings
84 | filterwarnings("ignore",category=RuntimeWarning) # I don't care
85 |
86 | # yfinance - download function
87 | from yfinance import download
88 |
89 | # the usual suspects
90 | import pandas as pd
91 | import numpy as np
92 | import matplotlib.pyplot as pl ; plt=pl
93 |
94 | # some friendly numbers
95 | zero,one,two,three,four,five,ten,hundred,annualize,thousand=0e0,1e0,2e0,3e0,4e0,5e0,1e1,1e2,252e0,1e3
96 | half,GoldenRatio=one/two,(one+np.sqrt(five))/two
97 |
98 | # import arch classes
99 | from arch.univariate import ConstantMean,ARX,GeneralizedError,Normal,GARCH
100 | from arch.typing import Float64Array
101 |
102 | # change the constraints for GeneralizedError
103 | class GeneralizedError2(GeneralizedError):
104 | """Version of the GED with bounds on fit adjusted to include all feasible distributions (GED is valid for all positive nu values)."""
105 | def bounds(self,*args)->list[tuple[float,float]]:
106 | """Revised bounds."""
107 | return [(0e0,1e2)]
108 |
109 | def constraints(self,*args)->tuple[Float64Array,Float64Array]:
110 | return np.array([[1], [-1]]), np.array([self.bounds()[0][0],-self.bounds()[0][1]])
111 |
112 | # change the constraints for GARCH
113 | class GARCH2(GARCH):
114 | """Version of GARCH with constraints modified to be more relaxed, leads to models that don't bind on constraints."""
115 | def bounds(self,resids:Float64Array)->list[tuple[float,float]]:
116 | """Modify bounds to be more relaxed."""
117 | v=float(np.mean(abs(resids)**self.power))
118 | bounds=[(1e-8*v,ten*v)]
119 | bounds.extend([(-one,two)]*(self.p+self.o+self.q))
120 | return bounds
121 |
122 | def constraints(self,*args)->tuple[Float64Array,Float64Array]:
123 | """Modify constraints to permit negative values for A and D etc."""
124 | a,b=super(GARCH2,self).constraints()
125 | b[1:(self.p+self.o+1)]=-one
126 | return a,b
127 |
128 | # some special axis formatters for matplotlib
129 | from matplotlib.ticker import Formatter
130 |
131 | class DirectionalLabels(Formatter):
132 | """Base class to provide directional formats for matplotlib axes."""
133 |
134 | def __init__(self):
135 | """Abstract base class."""
136 | raise NotImplementedError("DirectionalLabels is an abstract base class. You cannot instantiate it directly.")
137 |
138 | def __call__(self,datum,pos=None):
139 | """Render the provided number as a string."""
140 | return self.plus.format(datum*self.scale) if datum>0e0 else self.minus.format(-datum*self.scale) if datum<0e0 else self.zero
141 |
142 | class PercentLabels(DirectionalLabels):
143 | """Output Excel style percent labels."""
144 | def __init__(self,precision=2,zero="0",scale=1e0):
145 | """Set decimal precision and string to use for zeros."""
146 | self.plus="{:,.%df} %%" % precision
147 | self.minus="({:,.%df}) %%" % precision
148 | self.zero=str(zero)
149 | self.scale=abs(scale)
150 |
151 | class CurrencyLabels(DirectionalLabels):
152 | """Matplotlib formatter to provide Excel type currency formats for axes."""
153 | def __init__(self,precision=2,zero="0",symbol="$",suffix="",scale=1e0):
154 | """Set decimal precision and string to use for zeros."""
155 | self.plus="%s {:,.%df}%s" % (symbol,precision,suffix)
156 | self.minus="(%s {:,.%df}%s)" % (symbol,precision,suffix)
157 | self.zero=str(zero)
158 | self.scale=abs(scale)
159 |
160 | class CountLabels(DirectionalLabels):
161 | """Matplotlib formatter to provide integers with commas."""
162 | def __init__(self,zero="0",scale=1e0):
163 | """Integers with commas."""
164 | self.plus="{:,.0f}"
165 | self.minus=self.plus
166 | self.zero=str(zero)
167 | self.scale=abs(scale)
168 |
169 | # loads index membership from Wikipedia
170 | def loadindex(indexname):
171 | """Load the specified index and return the members and the first date for data extraction."""
172 |
173 | if indexname=='S&P 500':
174 | display(index:=pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies')[0].rename(columns={"Symbol":"Ticker"}).set_index("Ticker"))
175 | first_date=index['Date added'].max() # add data is in table returned
176 |
177 | elif indexname=='NASDAQ-100':
178 | display(index:=pd.read_html('https://en.wikipedia.org/wiki/Nasdaq-100')[4].rename(columns={"Symbol":"Ticker"}).set_index("Ticker"))
179 | first_date=datetime.now().strftime("%Y-01-02") # NASDAQ rebalances (normally) on the first day of the year. Jan'1st. is *always* a holiday
180 |
181 | elif indexname=='S&P MidCap 400':
182 | display(index:=pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_400_companies')[0].rename(columns={"Symbol":"Ticker"}).set_index("Ticker"))
183 | updates=pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_400_companies')[1].set_index(("Date","Date"))
184 | updates.index=list(map(lambda x:pd.Period(x.split('[')[0],'D'),updates.index))
185 | first_date=str(updates.index.max())
186 |
187 | elif indexname=='S&P SmallCap 600':
188 | display(index:=pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_600_companies')[0].rename(columns={"Symbol":"Ticker"}).set_index("Ticker"))
189 | updates=pd.read_html('https://en.wikipedia.org/wiki/List_of_S%26P_600_companies')[1].set_index(("Date","Date"))
190 | updates.index=list(map(lambda x:pd.Period(x.split('[')[0],'D'),updates.index))
191 | first_date=str(updates.index.max())
192 |
193 | elif indexname=='S&P 900': # union of S&P 500 and S&P MidCap 400
194 | sp500,dt500=loadindex('S&P 500')
195 | sp400,dt400=loadindex('S&P MidCap 400')
196 | columns=list(set(sp500.columns).intersection(set(sp400.columns)))
197 | index=pd.concat([sp500[columns],sp400[columns]]).sort_index()
198 | first_date=max([dt500,dt400])
199 |
200 | elif indexname=='S&P 1500': # union of S&P 500, S&P MidCap 400, and S&P SmallCap 600
201 | sp900,dt900=loadindex('S&P 900')
202 | sp600,dt600=loadindex('S&P SmallCap 600')
203 | columns=list(set(sp900.columns).intersection(set(sp600.columns)))
204 | index=pd.concat([sp900[columns],sp600[columns]]).sort_index()
205 | first_date=max([dt900,dt600])
206 |
207 | elif indexname=='Dow': # Dow Jones
208 | display(index:=pd.read_html('https://en.wikipedia.org/wiki/Dow_Jones_Industrial_Average')[1].rename(columns={"Symbol":"Ticker"}).set_index("Ticker"))
209 | first_date=index['Date added'].max()
210 |
211 | elif indexname=='FTSE 250':
212 | index=pd.read_html('https://en.wikipedia.org/wiki/FTSE_250_Index')[3]
213 | index["Ticker"]=index["Ticker"].apply(lambda x:x+".L") # set to Reuter's style tickers
214 | index.set_index("Ticker",inplace=True)
215 | display(index)
216 | first_date=((pd.Period(datetime.now(),'Q')-1).asfreq('B')+1).strftime("%Y-%m-%d") # first date of current quarter
217 |
218 | else:
219 | raise ValueError("Don't know how to load members of %s Index!" % indexname)
220 |
221 | return index[~index.index.duplicated()],first_date # drop duplicates in case some exist
222 |
223 | # download data from FRED
224 | from requests import get
225 | from os import environ
226 | from getpass import getpass
227 |
228 | def get_fred(series_id,FRED_API_KEY=None):
229 | """Function to get data from FRED API and return it as a DataFrame, also returns metadata object."""
230 |
231 | if FRED_API_KEY is not None:
232 | environ['FRED_API_KEY']=FRED_API_KEY
233 |
234 | elif 'FRED_API_KEY' not in environ:
235 | environ['FRED_API_KEY']=getpass("You need to enter a FRED API key (your keys are stored here: https://fredaccount.stlouisfed.org/apikeys): ")
236 |
237 | response=get((url:="https://api.stlouisfed.org/fred/series/observations?series_id={}&api_key={}&file_type=json").format(series_id,environ['FRED_API_KEY']))
238 |
239 | if response.status_code//100!=2:
240 | raise ValueError("Get status_code={:d} from {:s}".format(response.status_code,url))
241 |
242 | df=pd.DataFrame.from_dict(pd.json_normalize(response.json())['observations'][0])[['date','value']].rename(columns={"date":"Date","value":series_id}).set_index("Date")
243 | df[series_id]=df[series_id].apply(lambda x:float(x) if x!='.' else np.nan)
244 |
245 | response=get((url:="https://api.stlouisfed.org/fred/series?series_id={}&api_key={}&file_type=json").format(series_id,environ['FRED_API_KEY']))
246 |
247 | if response.status_code//100!=2:
248 | raise ValueError("Get status_code={:d} from {:s}".format(response.status_code,url))
249 |
250 | metadata=response.json()['seriess'][0]
251 | df.index=pd.DatetimeIndex(df.index).to_period(metadata['frequency_short'])
252 | return df.dropna(),metadata
253 |
254 | # that's all folks
255 | nprint("Initialized.")
256 |
--------------------------------------------------------------------------------
/nlls.py:
--------------------------------------------------------------------------------
1 | import numpy as np
2 | from statsmodels.base.model import GenericLikelihoodModel
3 | from statsmodels.api import add_constant
4 | from scipy.stats import norm
5 | from scipy.optimize import Bounds
6 | from my_library import zero,one
7 |
8 | class NLLS(GenericLikelihoodModel):
9 | """
10 | Fit a Non-Linear Least Squares model to data via MLE.
11 |
12 | This is a maximum likelihood regression to a Normal distribution with a non-linear mean process,
13 | with an added regressor being the standard deviation of errors. If you do not override the `.predict()`
14 | method it will actually use a linear mean process and so is equivalent to OLS, but slower! You can change
15 | the distribution used by supplying a pdf function that matches the scipy.stats framework.
16 |
17 | The code follows the usual statsmodels conventions for a model defined in terms of a dependent variable named `endog` and independent
18 | variables named `exog`, and with the `add_constant()` function expected if an intercept is required. If you do not supply any data for
19 | `exog` a constant column will be used. The system fits the standard deviation of the data (which is required by the method). You can supply
20 | any `scipy.stats` format univariate distribution via the `distribution` argument and any extra variables via `extra_params_names`. The
21 | regression is performed via the `scipy.optimize.minimize` function and (in my experience) can be a little brittle. You may need to supply
22 | user bounds for the latent variables if the default ones chosen are incorrect.
23 | """
24 | def __init__(self,endog,exog=None,distribution=norm,extra_params_names=[],**kwargs):
25 | """Initialize the object, setting helpful data, and then call the base constructor."""
26 | # a small number
27 | self.epsilon=1e-7
28 |
29 | # check for univariate problem
30 | if len(endog.shape)>1:
31 | raise NotImplementedError("Only univariate processes are supported, you supplied a %d-d array for endog." % len(endog.shape))
32 |
33 | # if no exogenous series, put in a series of ones for the constant
34 | if exog is None:
35 | exog=np.ones(endog.shape[0])
36 |
37 | # add xtra distribution process parameters, which are "hidden" from the exog vector input
38 | self.distribution=distribution
39 | self.latent_variables=['sigma']+extra_params_names
40 |
41 | # initialize the base class with the added variables as "extra_params"
42 | super(NLLS,self).__init__(endog,exog,extra_params_names=self.latent_variables,**kwargs)
43 |
44 | # adjust d.o.f., it seems that the code doesn't get this right as given by the examples on line
45 | self.df_resid-=len(self.latent_variables)
46 | self.df_model=self.nparams-self.k_constant
47 |
48 | def _pick_params(self,params):
49 | """Helper function to divide the parameters into linear process, disperstion and other latent variable parameters."""
50 | assert len(params)==self.nparams
51 |
52 | # memorialize parameters
53 | self.params=params
54 |
55 | # pick up parameters from the right slots
56 | n=len(self.latent_variables)
57 |
58 | if n>1:
59 | beta=params[:-n]
60 | sigma=params[-n]
61 | extra=list(params[-n+1:])
62 |
63 | elif n==1:
64 | beta=params[:-1]
65 | sigma=params[-1]
66 | extra=[]
67 |
68 | else:
69 | raise ValueError("The number of latent variables cannot be zero.")
70 |
71 | return beta,sigma,extra
72 |
73 | def predict(self,exog=None,params=None):
74 | """
75 | Returns the mean process prediction for the given inputs.
76 |
77 | If exog or params are None then self.exog, and/or self.params, will be used respectively.
78 | If you want to do something other than OLS, you should override this method with some other
79 | formula. If you don't want to use the Normal Distribution for the error process you should
80 | supply some other distribution when you instantiate the class.
81 | """
82 | beta,sigma,extra=self._pick_params(params if params is not None else self.params)
83 | _exog=exog if exog is not None else self.exog
84 | mean=np.dot(_exog,beta) # if you want something other than OLS, change this formula
85 |
86 | return mean
87 |
88 | def nloglikeobs(self,params):
89 | """Returns a vector of negative log-likelihood values for each observation."""
90 | # get the parameters divided into those for the mean process and the latent variables
91 | beta,sigma,extra=self._pick_params(params)
92 |
93 | # compute the mean model, dot computes the time-series of the dot product of the observation rows with beta
94 | self.mean=self.predict()
95 | self.innovation=(self.endog-self.mean)/sigma
96 |
97 | # set the distribution with the location set to zero as we specify the mean-model explicitly
98 | density=self.distribution(*extra,loc=zero,scale=sigma)
99 |
100 | # compute vector of negative log likelihood of vector of observations
101 | return -density.logpdf(self.endog-self.mean)
102 |
103 | def fit(self,start_params=None,bounds=None,maxiter=1000,**kwargs):
104 | """
105 | Perform a regression using trust-constrained gradient minimization.
106 |
107 | NOTE: This code will try to guess values for `start_params` and `bounds` if you don't supply them. In particular,
108 | it will guess `(-np.inf,+np.inf)` for the limits of any latent variables added by the user. If this assumption is wrong,
109 | the regression may fail. In which case, user supplied values should be substituted. It's my experience that this regression
110 | method is "slow" and "fragile," but it is the required one.
111 | """
112 | # the regression problem parameters are defined HERE by the start_params vector, wierd huh?
113 | if start_params is None:
114 | start_params=[zero]*self.exog.shape[1]+[self.endog.std()]+[one]*(len(self.latent_variables)-1)
115 |
116 | if self.k_constant:
117 | start_params[0]=self.endog.mean()
118 |
119 | # set the bounds
120 | if bounds is None:
121 | bounds=[(-np.inf,np.inf)]*self.exog.shape[1]+[(self.epsilon,np.inf)]+[(-np.inf,np.inf)]*(len(self.latent_variables)-1)
122 |
123 | # check we set the right number of variables
124 | assert len(start_params)==self.nparams
125 | assert len(bounds)==self.nparams
126 |
127 | # now let the base class do the regression, specifying the trust-constraint method for scipy.optimize with bounds
128 | f=super(NLLS,self).fit(
129 | start_params=start_params,
130 | method='minimize',
131 | min_method='trust-constr',
132 | bounds=Bounds(*list(zip(*bounds))),
133 | maxiter=maxiter,
134 | **kwargs
135 | )
136 | f.named_params=dict(zip(self.exog_names,self.params))
137 | f.num_params=len(f.named_params)
138 | return f
139 |
140 |
--------------------------------------------------------------------------------