1162 lines
159 KiB
Plaintext
1162 lines
159 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"# Rent or Buy?\n",
|
|
"\n",
|
|
"If you have a small pile of money that you are thinking of dropping on the downpayment of a house, should you? This document runs a small stochastic simulation that will help you decide whether it makes sense to buy a house or to rent. \n",
|
|
"\n",
|
|
"Conventional wisdom says that you will save money in the long term if you buy a house (the thinking being that you don't \"waste\" money on rent, and that you \"build equity\" in the value of the house). However, as this notebook will demonstrate, things are a little more complicated.\n",
|
|
"\n",
|
|
"The two cases this notebook contrasts are:\n",
|
|
"\n",
|
|
"* Putting a large lump sum down on the downpaymnet of a house, and then paying monthly payments to pay off the remainder of your debt. Once the house is paid off, those monthly payments will instead be invested in an index fund.\n",
|
|
"* Putting all the money that you would have put in a downpayment in an index fund, and then spending what you would have spent on monthly mortage payments on rent. \n",
|
|
"\n",
|
|
"Perhaps surprisngly, you will find that for many parameters, there is very little difference between the two scenarious, for the following simple reason:\n",
|
|
"\n",
|
|
"**Yes, the value of your house is going to go up. But the stock market is going to go up a lot faster**. \n",
|
|
"\n",
|
|
"This notebook allows you to play with the following parameters interactively:\n",
|
|
"\n",
|
|
"* **Starting Sum** This is the amount you have saved up. In the \"buying\" scenario, you put this all in your downpayment. In the \"renting\" scenario, you put this all in the stock market in an index fund. \n",
|
|
"* **Cost of the house** \n",
|
|
"* **Tax rate on the house**\n",
|
|
"* **Interest rate** On your mortage\n",
|
|
"* **Duration** Of your mortgage \n",
|
|
"* **Fraction of monthly payment you are willing to pay as rent** Assuming you are renting\n",
|
|
"* **Rent hike** Anticipated annual rent increase (percentage)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "fb4501cf36d44b8f922c74b9b01ce250",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HTML(value='<h3>Initial savings</h3>')"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "e3f7a7e6641849dd8645a050a7d3c31e",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HTML(value=\"<p>This amount is the what you have saved up, that you're willing to put down as downpayment for a…"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "a26aca8970f5430e83c72cd84729e13d",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"FloatText(value=100000.0, description='Starting $', step=10000.0)"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "d302af17848748e4b49cd0acf56e1374",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HTML(value='<h3>Buying</h3>')"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "86378835a3c94acb83849f2b36863b67",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"VBox(children=(HBox(children=(IntText(value=600000, description='Cost ($)', step=10000), FloatSlider(value=1.0…"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "cdb21c3408354d5f91650ed4f33cd72a",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HTML(value='<h3>Renting and investing</h3>')"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "342ff64eed9d4623b32da274f6f905b6",
|
|
"version_major": 2,
|
|
"version_minor": 0
|
|
},
|
|
"text/plain": [
|
|
"HBox(children=(IntSlider(value=50, description='Rent frac (%)', step=5), IntSlider(value=1, description='Rent …"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"application/javascript": [
|
|
"/* Put everything inside the global mpl namespace */\n",
|
|
"window.mpl = {};\n",
|
|
"\n",
|
|
"\n",
|
|
"mpl.get_websocket_type = function() {\n",
|
|
" if (typeof(WebSocket) !== 'undefined') {\n",
|
|
" return WebSocket;\n",
|
|
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
|
|
" return MozWebSocket;\n",
|
|
" } else {\n",
|
|
" alert('Your browser does not have WebSocket support.' +\n",
|
|
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
|
|
" 'Firefox 4 and 5 are also supported but you ' +\n",
|
|
" 'have to enable WebSockets in about:config.');\n",
|
|
" };\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
|
|
" this.id = figure_id;\n",
|
|
"\n",
|
|
" this.ws = websocket;\n",
|
|
"\n",
|
|
" this.supports_binary = (this.ws.binaryType != undefined);\n",
|
|
"\n",
|
|
" if (!this.supports_binary) {\n",
|
|
" var warnings = document.getElementById(\"mpl-warnings\");\n",
|
|
" if (warnings) {\n",
|
|
" warnings.style.display = 'block';\n",
|
|
" warnings.textContent = (\n",
|
|
" \"This browser does not support binary websocket messages. \" +\n",
|
|
" \"Performance may be slow.\");\n",
|
|
" }\n",
|
|
" }\n",
|
|
"\n",
|
|
" this.imageObj = new Image();\n",
|
|
"\n",
|
|
" this.context = undefined;\n",
|
|
" this.message = undefined;\n",
|
|
" this.canvas = undefined;\n",
|
|
" this.rubberband_canvas = undefined;\n",
|
|
" this.rubberband_context = undefined;\n",
|
|
" this.format_dropdown = undefined;\n",
|
|
"\n",
|
|
" this.image_mode = 'full';\n",
|
|
"\n",
|
|
" this.root = $('<div/>');\n",
|
|
" this._root_extra_style(this.root)\n",
|
|
" this.root.attr('style', 'display: inline-block');\n",
|
|
"\n",
|
|
" $(parent_element).append(this.root);\n",
|
|
"\n",
|
|
" this._init_header(this);\n",
|
|
" this._init_canvas(this);\n",
|
|
" this._init_toolbar(this);\n",
|
|
"\n",
|
|
" var fig = this;\n",
|
|
"\n",
|
|
" this.waiting = false;\n",
|
|
"\n",
|
|
" this.ws.onopen = function () {\n",
|
|
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
|
|
" fig.send_message(\"send_image_mode\", {});\n",
|
|
" if (mpl.ratio != 1) {\n",
|
|
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
|
|
" }\n",
|
|
" fig.send_message(\"refresh\", {});\n",
|
|
" }\n",
|
|
"\n",
|
|
" this.imageObj.onload = function() {\n",
|
|
" if (fig.image_mode == 'full') {\n",
|
|
" // Full images could contain transparency (where diff images\n",
|
|
" // almost always do), so we need to clear the canvas so that\n",
|
|
" // there is no ghosting.\n",
|
|
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
|
|
" }\n",
|
|
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
|
|
" };\n",
|
|
"\n",
|
|
" this.imageObj.onunload = function() {\n",
|
|
" fig.ws.close();\n",
|
|
" }\n",
|
|
"\n",
|
|
" this.ws.onmessage = this._make_on_message_function(this);\n",
|
|
"\n",
|
|
" this.ondownload = ondownload;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._init_header = function() {\n",
|
|
" var titlebar = $(\n",
|
|
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
|
|
" 'ui-helper-clearfix\"/>');\n",
|
|
" var titletext = $(\n",
|
|
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
|
|
" 'text-align: center; padding: 3px;\"/>');\n",
|
|
" titlebar.append(titletext)\n",
|
|
" this.root.append(titlebar);\n",
|
|
" this.header = titletext[0];\n",
|
|
"}\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
|
|
"\n",
|
|
"}\n",
|
|
"\n",
|
|
"\n",
|
|
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
|
|
"\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._init_canvas = function() {\n",
|
|
" var fig = this;\n",
|
|
"\n",
|
|
" var canvas_div = $('<div/>');\n",
|
|
"\n",
|
|
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
|
|
"\n",
|
|
" function canvas_keyboard_event(event) {\n",
|
|
" return fig.key_event(event, event['data']);\n",
|
|
" }\n",
|
|
"\n",
|
|
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
|
|
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
|
|
" this.canvas_div = canvas_div\n",
|
|
" this._canvas_extra_style(canvas_div)\n",
|
|
" this.root.append(canvas_div);\n",
|
|
"\n",
|
|
" var canvas = $('<canvas/>');\n",
|
|
" canvas.addClass('mpl-canvas');\n",
|
|
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
|
|
"\n",
|
|
" this.canvas = canvas[0];\n",
|
|
" this.context = canvas[0].getContext(\"2d\");\n",
|
|
"\n",
|
|
" var backingStore = this.context.backingStorePixelRatio ||\n",
|
|
"\tthis.context.webkitBackingStorePixelRatio ||\n",
|
|
"\tthis.context.mozBackingStorePixelRatio ||\n",
|
|
"\tthis.context.msBackingStorePixelRatio ||\n",
|
|
"\tthis.context.oBackingStorePixelRatio ||\n",
|
|
"\tthis.context.backingStorePixelRatio || 1;\n",
|
|
"\n",
|
|
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
|
|
"\n",
|
|
" var rubberband = $('<canvas/>');\n",
|
|
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
|
|
"\n",
|
|
" var pass_mouse_events = true;\n",
|
|
"\n",
|
|
" canvas_div.resizable({\n",
|
|
" start: function(event, ui) {\n",
|
|
" pass_mouse_events = false;\n",
|
|
" },\n",
|
|
" resize: function(event, ui) {\n",
|
|
" fig.request_resize(ui.size.width, ui.size.height);\n",
|
|
" },\n",
|
|
" stop: function(event, ui) {\n",
|
|
" pass_mouse_events = true;\n",
|
|
" fig.request_resize(ui.size.width, ui.size.height);\n",
|
|
" },\n",
|
|
" });\n",
|
|
"\n",
|
|
" function mouse_event_fn(event) {\n",
|
|
" if (pass_mouse_events)\n",
|
|
" return fig.mouse_event(event, event['data']);\n",
|
|
" }\n",
|
|
"\n",
|
|
" rubberband.mousedown('button_press', mouse_event_fn);\n",
|
|
" rubberband.mouseup('button_release', mouse_event_fn);\n",
|
|
" // Throttle sequential mouse events to 1 every 20ms.\n",
|
|
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
|
|
"\n",
|
|
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
|
|
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
|
|
"\n",
|
|
" canvas_div.on(\"wheel\", function (event) {\n",
|
|
" event = event.originalEvent;\n",
|
|
" event['data'] = 'scroll'\n",
|
|
" if (event.deltaY < 0) {\n",
|
|
" event.step = 1;\n",
|
|
" } else {\n",
|
|
" event.step = -1;\n",
|
|
" }\n",
|
|
" mouse_event_fn(event);\n",
|
|
" });\n",
|
|
"\n",
|
|
" canvas_div.append(canvas);\n",
|
|
" canvas_div.append(rubberband);\n",
|
|
"\n",
|
|
" this.rubberband = rubberband;\n",
|
|
" this.rubberband_canvas = rubberband[0];\n",
|
|
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
|
|
" this.rubberband_context.strokeStyle = \"#000000\";\n",
|
|
"\n",
|
|
" this._resize_canvas = function(width, height) {\n",
|
|
" // Keep the size of the canvas, canvas container, and rubber band\n",
|
|
" // canvas in synch.\n",
|
|
" canvas_div.css('width', width)\n",
|
|
" canvas_div.css('height', height)\n",
|
|
"\n",
|
|
" canvas.attr('width', width * mpl.ratio);\n",
|
|
" canvas.attr('height', height * mpl.ratio);\n",
|
|
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
|
|
"\n",
|
|
" rubberband.attr('width', width);\n",
|
|
" rubberband.attr('height', height);\n",
|
|
" }\n",
|
|
"\n",
|
|
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
|
|
" // upon first draw.\n",
|
|
" this._resize_canvas(600, 600);\n",
|
|
"\n",
|
|
" // Disable right mouse context menu.\n",
|
|
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
|
|
" return false;\n",
|
|
" });\n",
|
|
"\n",
|
|
" function set_focus () {\n",
|
|
" canvas.focus();\n",
|
|
" canvas_div.focus();\n",
|
|
" }\n",
|
|
"\n",
|
|
" window.setTimeout(set_focus, 100);\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._init_toolbar = function() {\n",
|
|
" var fig = this;\n",
|
|
"\n",
|
|
" var nav_element = $('<div/>')\n",
|
|
" nav_element.attr('style', 'width: 100%');\n",
|
|
" this.root.append(nav_element);\n",
|
|
"\n",
|
|
" // Define a callback function for later on.\n",
|
|
" function toolbar_event(event) {\n",
|
|
" return fig.toolbar_button_onclick(event['data']);\n",
|
|
" }\n",
|
|
" function toolbar_mouse_event(event) {\n",
|
|
" return fig.toolbar_button_onmouseover(event['data']);\n",
|
|
" }\n",
|
|
"\n",
|
|
" for(var toolbar_ind in mpl.toolbar_items) {\n",
|
|
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
|
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
|
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
|
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
|
"\n",
|
|
" if (!name) {\n",
|
|
" // put a spacer in here.\n",
|
|
" continue;\n",
|
|
" }\n",
|
|
" var button = $('<button/>');\n",
|
|
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
|
|
" 'ui-button-icon-only');\n",
|
|
" button.attr('role', 'button');\n",
|
|
" button.attr('aria-disabled', 'false');\n",
|
|
" button.click(method_name, toolbar_event);\n",
|
|
" button.mouseover(tooltip, toolbar_mouse_event);\n",
|
|
"\n",
|
|
" var icon_img = $('<span/>');\n",
|
|
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
|
|
" icon_img.addClass(image);\n",
|
|
" icon_img.addClass('ui-corner-all');\n",
|
|
"\n",
|
|
" var tooltip_span = $('<span/>');\n",
|
|
" tooltip_span.addClass('ui-button-text');\n",
|
|
" tooltip_span.html(tooltip);\n",
|
|
"\n",
|
|
" button.append(icon_img);\n",
|
|
" button.append(tooltip_span);\n",
|
|
"\n",
|
|
" nav_element.append(button);\n",
|
|
" }\n",
|
|
"\n",
|
|
" var fmt_picker_span = $('<span/>');\n",
|
|
"\n",
|
|
" var fmt_picker = $('<select/>');\n",
|
|
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
|
|
" fmt_picker_span.append(fmt_picker);\n",
|
|
" nav_element.append(fmt_picker_span);\n",
|
|
" this.format_dropdown = fmt_picker[0];\n",
|
|
"\n",
|
|
" for (var ind in mpl.extensions) {\n",
|
|
" var fmt = mpl.extensions[ind];\n",
|
|
" var option = $(\n",
|
|
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
|
|
" fmt_picker.append(option)\n",
|
|
" }\n",
|
|
"\n",
|
|
" // Add hover states to the ui-buttons\n",
|
|
" $( \".ui-button\" ).hover(\n",
|
|
" function() { $(this).addClass(\"ui-state-hover\");},\n",
|
|
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
|
|
" );\n",
|
|
"\n",
|
|
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
|
|
" nav_element.append(status_bar);\n",
|
|
" this.message = status_bar[0];\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
|
|
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
|
|
" // which will in turn request a refresh of the image.\n",
|
|
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.send_message = function(type, properties) {\n",
|
|
" properties['type'] = type;\n",
|
|
" properties['figure_id'] = this.id;\n",
|
|
" this.ws.send(JSON.stringify(properties));\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.send_draw_message = function() {\n",
|
|
" if (!this.waiting) {\n",
|
|
" this.waiting = true;\n",
|
|
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
|
|
" }\n",
|
|
"}\n",
|
|
"\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
|
|
" var format_dropdown = fig.format_dropdown;\n",
|
|
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
|
|
" fig.ondownload(fig, format);\n",
|
|
"}\n",
|
|
"\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
|
|
" var size = msg['size'];\n",
|
|
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
|
|
" fig._resize_canvas(size[0], size[1]);\n",
|
|
" fig.send_message(\"refresh\", {});\n",
|
|
" };\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
|
|
" var x0 = msg['x0'] / mpl.ratio;\n",
|
|
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
|
|
" var x1 = msg['x1'] / mpl.ratio;\n",
|
|
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
|
|
" x0 = Math.floor(x0) + 0.5;\n",
|
|
" y0 = Math.floor(y0) + 0.5;\n",
|
|
" x1 = Math.floor(x1) + 0.5;\n",
|
|
" y1 = Math.floor(y1) + 0.5;\n",
|
|
" var min_x = Math.min(x0, x1);\n",
|
|
" var min_y = Math.min(y0, y1);\n",
|
|
" var width = Math.abs(x1 - x0);\n",
|
|
" var height = Math.abs(y1 - y0);\n",
|
|
"\n",
|
|
" fig.rubberband_context.clearRect(\n",
|
|
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
|
|
"\n",
|
|
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
|
|
" // Updates the figure title.\n",
|
|
" fig.header.textContent = msg['label'];\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
|
|
" var cursor = msg['cursor'];\n",
|
|
" switch(cursor)\n",
|
|
" {\n",
|
|
" case 0:\n",
|
|
" cursor = 'pointer';\n",
|
|
" break;\n",
|
|
" case 1:\n",
|
|
" cursor = 'default';\n",
|
|
" break;\n",
|
|
" case 2:\n",
|
|
" cursor = 'crosshair';\n",
|
|
" break;\n",
|
|
" case 3:\n",
|
|
" cursor = 'move';\n",
|
|
" break;\n",
|
|
" }\n",
|
|
" fig.rubberband_canvas.style.cursor = cursor;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
|
|
" fig.message.textContent = msg['message'];\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
|
|
" // Request the server to send over a new figure.\n",
|
|
" fig.send_draw_message();\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
|
|
" fig.image_mode = msg['mode'];\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.updated_canvas_event = function() {\n",
|
|
" // Called whenever the canvas gets updated.\n",
|
|
" this.send_message(\"ack\", {});\n",
|
|
"}\n",
|
|
"\n",
|
|
"// A function to construct a web socket function for onmessage handling.\n",
|
|
"// Called in the figure constructor.\n",
|
|
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
|
|
" return function socket_on_message(evt) {\n",
|
|
" if (evt.data instanceof Blob) {\n",
|
|
" /* FIXME: We get \"Resource interpreted as Image but\n",
|
|
" * transferred with MIME type text/plain:\" errors on\n",
|
|
" * Chrome. But how to set the MIME type? It doesn't seem\n",
|
|
" * to be part of the websocket stream */\n",
|
|
" evt.data.type = \"image/png\";\n",
|
|
"\n",
|
|
" /* Free the memory for the previous frames */\n",
|
|
" if (fig.imageObj.src) {\n",
|
|
" (window.URL || window.webkitURL).revokeObjectURL(\n",
|
|
" fig.imageObj.src);\n",
|
|
" }\n",
|
|
"\n",
|
|
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
|
|
" evt.data);\n",
|
|
" fig.updated_canvas_event();\n",
|
|
" fig.waiting = false;\n",
|
|
" return;\n",
|
|
" }\n",
|
|
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
|
|
" fig.imageObj.src = evt.data;\n",
|
|
" fig.updated_canvas_event();\n",
|
|
" fig.waiting = false;\n",
|
|
" return;\n",
|
|
" }\n",
|
|
"\n",
|
|
" var msg = JSON.parse(evt.data);\n",
|
|
" var msg_type = msg['type'];\n",
|
|
"\n",
|
|
" // Call the \"handle_{type}\" callback, which takes\n",
|
|
" // the figure and JSON message as its only arguments.\n",
|
|
" try {\n",
|
|
" var callback = fig[\"handle_\" + msg_type];\n",
|
|
" } catch (e) {\n",
|
|
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
|
|
" return;\n",
|
|
" }\n",
|
|
"\n",
|
|
" if (callback) {\n",
|
|
" try {\n",
|
|
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
|
|
" callback(fig, msg);\n",
|
|
" } catch (e) {\n",
|
|
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
|
|
" }\n",
|
|
" }\n",
|
|
" };\n",
|
|
"}\n",
|
|
"\n",
|
|
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
|
|
"mpl.findpos = function(e) {\n",
|
|
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
|
|
" var targ;\n",
|
|
" if (!e)\n",
|
|
" e = window.event;\n",
|
|
" if (e.target)\n",
|
|
" targ = e.target;\n",
|
|
" else if (e.srcElement)\n",
|
|
" targ = e.srcElement;\n",
|
|
" if (targ.nodeType == 3) // defeat Safari bug\n",
|
|
" targ = targ.parentNode;\n",
|
|
"\n",
|
|
" // jQuery normalizes the pageX and pageY\n",
|
|
" // pageX,Y are the mouse positions relative to the document\n",
|
|
" // offset() returns the position of the element relative to the document\n",
|
|
" var x = e.pageX - $(targ).offset().left;\n",
|
|
" var y = e.pageY - $(targ).offset().top;\n",
|
|
"\n",
|
|
" return {\"x\": x, \"y\": y};\n",
|
|
"};\n",
|
|
"\n",
|
|
"/*\n",
|
|
" * return a copy of an object with only non-object keys\n",
|
|
" * we need this to avoid circular references\n",
|
|
" * http://stackoverflow.com/a/24161582/3208463\n",
|
|
" */\n",
|
|
"function simpleKeys (original) {\n",
|
|
" return Object.keys(original).reduce(function (obj, key) {\n",
|
|
" if (typeof original[key] !== 'object')\n",
|
|
" obj[key] = original[key]\n",
|
|
" return obj;\n",
|
|
" }, {});\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
|
|
" var canvas_pos = mpl.findpos(event)\n",
|
|
"\n",
|
|
" if (name === 'button_press')\n",
|
|
" {\n",
|
|
" this.canvas.focus();\n",
|
|
" this.canvas_div.focus();\n",
|
|
" }\n",
|
|
"\n",
|
|
" var x = canvas_pos.x * mpl.ratio;\n",
|
|
" var y = canvas_pos.y * mpl.ratio;\n",
|
|
"\n",
|
|
" this.send_message(name, {x: x, y: y, button: event.button,\n",
|
|
" step: event.step,\n",
|
|
" guiEvent: simpleKeys(event)});\n",
|
|
"\n",
|
|
" /* This prevents the web browser from automatically changing to\n",
|
|
" * the text insertion cursor when the button is pressed. We want\n",
|
|
" * to control all of the cursor setting manually through the\n",
|
|
" * 'cursor' event from matplotlib */\n",
|
|
" event.preventDefault();\n",
|
|
" return false;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
|
|
" // Handle any extra behaviour associated with a key event\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.key_event = function(event, name) {\n",
|
|
"\n",
|
|
" // Prevent repeat events\n",
|
|
" if (name == 'key_press')\n",
|
|
" {\n",
|
|
" if (event.which === this._key)\n",
|
|
" return;\n",
|
|
" else\n",
|
|
" this._key = event.which;\n",
|
|
" }\n",
|
|
" if (name == 'key_release')\n",
|
|
" this._key = null;\n",
|
|
"\n",
|
|
" var value = '';\n",
|
|
" if (event.ctrlKey && event.which != 17)\n",
|
|
" value += \"ctrl+\";\n",
|
|
" if (event.altKey && event.which != 18)\n",
|
|
" value += \"alt+\";\n",
|
|
" if (event.shiftKey && event.which != 16)\n",
|
|
" value += \"shift+\";\n",
|
|
"\n",
|
|
" value += 'k';\n",
|
|
" value += event.which.toString();\n",
|
|
"\n",
|
|
" this._key_event_extra(event, name);\n",
|
|
"\n",
|
|
" this.send_message(name, {key: value,\n",
|
|
" guiEvent: simpleKeys(event)});\n",
|
|
" return false;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
|
|
" if (name == 'download') {\n",
|
|
" this.handle_save(this, null);\n",
|
|
" } else {\n",
|
|
" this.send_message(\"toolbar_button\", {name: name});\n",
|
|
" }\n",
|
|
"};\n",
|
|
"\n",
|
|
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
|
|
" this.message.textContent = tooltip;\n",
|
|
"};\n",
|
|
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
|
|
"\n",
|
|
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
|
|
"\n",
|
|
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
|
|
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
|
|
" // object with the appropriate methods. Currently this is a non binary\n",
|
|
" // socket, so there is still some room for performance tuning.\n",
|
|
" var ws = {};\n",
|
|
"\n",
|
|
" ws.close = function() {\n",
|
|
" comm.close()\n",
|
|
" };\n",
|
|
" ws.send = function(m) {\n",
|
|
" //console.log('sending', m);\n",
|
|
" comm.send(m);\n",
|
|
" };\n",
|
|
" // Register the callback with on_msg.\n",
|
|
" comm.on_msg(function(msg) {\n",
|
|
" //console.log('receiving', msg['content']['data'], msg);\n",
|
|
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
|
|
" ws.onmessage(msg['content']['data'])\n",
|
|
" });\n",
|
|
" return ws;\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.mpl_figure_comm = function(comm, msg) {\n",
|
|
" // This is the function which gets called when the mpl process\n",
|
|
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
|
|
"\n",
|
|
" var id = msg.content.data.id;\n",
|
|
" // Get hold of the div created by the display call when the Comm\n",
|
|
" // socket was opened in Python.\n",
|
|
" var element = $(\"#\" + id);\n",
|
|
" var ws_proxy = comm_websocket_adapter(comm)\n",
|
|
"\n",
|
|
" function ondownload(figure, format) {\n",
|
|
" window.open(figure.imageObj.src);\n",
|
|
" }\n",
|
|
"\n",
|
|
" var fig = new mpl.figure(id, ws_proxy,\n",
|
|
" ondownload,\n",
|
|
" element.get(0));\n",
|
|
"\n",
|
|
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
|
|
" // web socket which is closed, not our websocket->open comm proxy.\n",
|
|
" ws_proxy.onopen();\n",
|
|
"\n",
|
|
" fig.parent_element = element.get(0);\n",
|
|
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
|
|
" if (!fig.cell_info) {\n",
|
|
" console.error(\"Failed to find cell for figure\", id, fig);\n",
|
|
" return;\n",
|
|
" }\n",
|
|
"\n",
|
|
" var output_index = fig.cell_info[2]\n",
|
|
" var cell = fig.cell_info[0];\n",
|
|
"\n",
|
|
"};\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
|
|
" var width = fig.canvas.width/mpl.ratio\n",
|
|
" fig.root.unbind('remove')\n",
|
|
"\n",
|
|
" // Update the output cell to use the data from the current canvas.\n",
|
|
" fig.push_to_output();\n",
|
|
" var dataURL = fig.canvas.toDataURL();\n",
|
|
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
|
|
" // the notebook keyboard shortcuts fail.\n",
|
|
" IPython.keyboard_manager.enable()\n",
|
|
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
|
|
" fig.close_ws(fig, msg);\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
|
|
" fig.send_message('closing', msg);\n",
|
|
" // fig.ws.close()\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
|
|
" // Turn the data on the canvas into data in the output cell.\n",
|
|
" var width = this.canvas.width/mpl.ratio\n",
|
|
" var dataURL = this.canvas.toDataURL();\n",
|
|
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.updated_canvas_event = function() {\n",
|
|
" // Tell IPython that the notebook contents must change.\n",
|
|
" IPython.notebook.set_dirty(true);\n",
|
|
" this.send_message(\"ack\", {});\n",
|
|
" var fig = this;\n",
|
|
" // Wait a second, then push the new image to the DOM so\n",
|
|
" // that it is saved nicely (might be nice to debounce this).\n",
|
|
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._init_toolbar = function() {\n",
|
|
" var fig = this;\n",
|
|
"\n",
|
|
" var nav_element = $('<div/>')\n",
|
|
" nav_element.attr('style', 'width: 100%');\n",
|
|
" this.root.append(nav_element);\n",
|
|
"\n",
|
|
" // Define a callback function for later on.\n",
|
|
" function toolbar_event(event) {\n",
|
|
" return fig.toolbar_button_onclick(event['data']);\n",
|
|
" }\n",
|
|
" function toolbar_mouse_event(event) {\n",
|
|
" return fig.toolbar_button_onmouseover(event['data']);\n",
|
|
" }\n",
|
|
"\n",
|
|
" for(var toolbar_ind in mpl.toolbar_items){\n",
|
|
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
|
|
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
|
|
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
|
|
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
|
|
"\n",
|
|
" if (!name) { continue; };\n",
|
|
"\n",
|
|
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
|
|
" button.click(method_name, toolbar_event);\n",
|
|
" button.mouseover(tooltip, toolbar_mouse_event);\n",
|
|
" nav_element.append(button);\n",
|
|
" }\n",
|
|
"\n",
|
|
" // Add the status bar.\n",
|
|
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
|
|
" nav_element.append(status_bar);\n",
|
|
" this.message = status_bar[0];\n",
|
|
"\n",
|
|
" // Add the close button to the window.\n",
|
|
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
|
|
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
|
|
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
|
|
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
|
|
" buttongrp.append(button);\n",
|
|
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
|
|
" titlebar.prepend(buttongrp);\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._root_extra_style = function(el){\n",
|
|
" var fig = this\n",
|
|
" el.on(\"remove\", function(){\n",
|
|
"\tfig.close_ws(fig, {});\n",
|
|
" });\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
|
|
" // this is important to make the div 'focusable\n",
|
|
" el.attr('tabindex', 0)\n",
|
|
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
|
|
" // off when our div gets focus\n",
|
|
"\n",
|
|
" // location in version 3\n",
|
|
" if (IPython.notebook.keyboard_manager) {\n",
|
|
" IPython.notebook.keyboard_manager.register_events(el);\n",
|
|
" }\n",
|
|
" else {\n",
|
|
" // location in version 2\n",
|
|
" IPython.keyboard_manager.register_events(el);\n",
|
|
" }\n",
|
|
"\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
|
|
" var manager = IPython.notebook.keyboard_manager;\n",
|
|
" if (!manager)\n",
|
|
" manager = IPython.keyboard_manager;\n",
|
|
"\n",
|
|
" // Check for shift+enter\n",
|
|
" if (event.shiftKey && event.which == 13) {\n",
|
|
" this.canvas_div.blur();\n",
|
|
" event.shiftKey = false;\n",
|
|
" // Send a \"J\" for go to next cell\n",
|
|
" event.which = 74;\n",
|
|
" event.keyCode = 74;\n",
|
|
" manager.command_mode();\n",
|
|
" manager.handle_keydown(event);\n",
|
|
" }\n",
|
|
"}\n",
|
|
"\n",
|
|
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
|
|
" fig.ondownload(fig, null);\n",
|
|
"}\n",
|
|
"\n",
|
|
"\n",
|
|
"mpl.find_output_cell = function(html_output) {\n",
|
|
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
|
|
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
|
|
" // IPython event is triggered only after the cells have been serialised, which for\n",
|
|
" // our purposes (turning an active figure into a static one), is too late.\n",
|
|
" var cells = IPython.notebook.get_cells();\n",
|
|
" var ncells = cells.length;\n",
|
|
" for (var i=0; i<ncells; i++) {\n",
|
|
" var cell = cells[i];\n",
|
|
" if (cell.cell_type === 'code'){\n",
|
|
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
|
|
" var data = cell.output_area.outputs[j];\n",
|
|
" if (data.data) {\n",
|
|
" // IPython >= 3 moved mimebundle to data attribute of output\n",
|
|
" data = data.data;\n",
|
|
" }\n",
|
|
" if (data['text/html'] == html_output) {\n",
|
|
" return [cell, data, j];\n",
|
|
" }\n",
|
|
" }\n",
|
|
" }\n",
|
|
" }\n",
|
|
"}\n",
|
|
"\n",
|
|
"// Register the function which deals with the matplotlib target/channel.\n",
|
|
"// The kernel may be null if the page has been refreshed.\n",
|
|
"if (IPython.notebook.kernel != null) {\n",
|
|
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
|
|
"}\n"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.Javascript object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
},
|
|
{
|
|
"data": {
|
|
"text/html": [
|
|
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABlUAAARvCAYAAACB7mLBAAAgAElEQVR4nOzdd5SdZb0+7j07CQmQUBI6BzmUiIIKCAgBDKI0QVA5FAERMCIigSOKCELoIO1LsRA4AUR/lCMKkS5SpShFUJAWECkhpE2mZJKQhMzcvz/mDJkU4AVn9t4zua617qVMQtb77sw856zn9nk+pQAAAAAAAPC+StV+AAAAAAAAgJ5AqQIAAAAAAFCAUgUAAAAAAKAApQoAAAAAAEABShUAAAAAAIAClCoAAAAAAAAFKFUAAAAAAAAKUKoAAAAAAAAUoFQBAAAAAAAoQKkCAAAAAABQgFIFAAAAAACgAKUKAAAAAABAAUoVAAAAAACAApQqAAAAAAAABShVAAAAAAAAClCqAAAAAAAAFKBUAQAAAAAAKECpAgAAAAAAUIBSBQAAAAAAoAClCgAAAAAAQAFKFQAAAAAAgAKUKgAAAAAAAAUoVQAAAAAAAApQqgAAAAAAABSgVAEAAAAAAChAqQIAAAAAAFCAUgUAAAAAAKAApQoAAAAAAEABShUAAAAAAIAClCoAAAAAAAAFKFUAAAAAAAAKUKoAAAAAAAAUoFQBAAAAAAAoQKkCAAAAAABQgFIFAAAAAACgAKUKAAAAAABAAUoVAAAAAACAApQqAAAAAAAABShVAAAAAAAAClCqAAAAAAAAFKBUAQAAAAAAKECpAgAAAAAAUIBSBQAAAAAAoAClCgAAAAAAQAFKFQAAAAAAgAKUKgAAAAAAAAUoVQAAAAAAAApQqgAAAAAAABSgVAEAAAAAAChAqQIAAAAAAFCAUgUAAAAAAKAApQoAAAAAAEABShUAAAAAAIAClCoAAAAAAAAFKFUAAAAAAAAKUKoAAAAAAAAUoFQBAAAAAAAoQKkCAAAAAABQgFIFAAAAAACgAKUKAAAAAABAAUoVAAAAAACAApQqAAAAAAAABShVAAAAAAAAClCqAAAAAAAAFKBUAQAAAAAAKECpAgAAAAAAUIBSBQAAAAAAoAClCgAAAAAAQAFKFQAAAAAAgAKUKgAAAAAAAAUoVQAAAAAAAApQqgAAAAAAABSgVAEAAAAAAChAqQIAAAAAAFCAUgUAAAAAAKAApQoAAAAAAEABShUAAAAAAIAClCoAAAAAAAAFKFUAAAAAAAAKUKoAAAAAAAAUoFQBAAAAAAAoQKkCAAAAAABQgFIFAAAAAACgAKUKAAAAAABAAUoVAAAAAACAApQqAAAAAAAABShVAAAAAAAAClCqAAAAAAAAFKBUAQAAAAAAKECpAgAAAAAAUIBSBQAAAAAAoAClCgAAAAAAQAFKFQAAAAAAgAKUKgAAAAAAAAUoVQAAAAAAAApQqgAAAAAAABSgVAEAAAAAAChAqQIAAAAAAFCAUgUAAAAAAKAApQoAAAAAAEABShUAAAAAAIAClCoAAAAAAAAFKFUAAAAAAAAKUKoAAAAAAAAUoFQBAAAAAAAoQKkCAAAAAABQgFIFAAAAAACgAKUKAAAAAABAAUoVAAAAAACAApQqAAAAAAAABShVAAAAAAAAClCqAAAAAAAAFKBUAQAAAAAAKECpAgAAAAAAUIBSBQAAAAAAoAClCgAAAAAAQAFKFQAAAAAAgAKUKgAAAAAAAAUoVQAAAAAAAApQqgAAAAAAABSgVAEAAAAAAChAqQIAAAAAAFCAUgUAAAAAAKAApQoAAAAAAEABShUAAAAAAIAClCoAAAAAAAAFKFUAAAAAAAAKUKoAAAAAAAAUoFQBAAAAAAAoQKkCAAAAAABQgFIFAAAAAACgAKUKAAAAAABAAUoVAAAAAACAApQqAAAAAAAABShVoIABAwakb9++WW211URERERERERERKTC6du3bwYMGFDtbUJQqkARffv2Tblcrvr/8RAREREREREREVkgq666YKr9PN2Ucrmcvn37VnubEJQqUETH4g0AAAAAFdXWlrz9djJnTjJrVjJjRtLSkjQ3J42NybRpSX19+3/OnFntp+029ueoFUoVKMCiDQAAAEBFtLa2lyizZy9YojQ1tZco9fXzS5TGxvZypblZqQIVolSBAizaAAAAAHSL1tZk7twFS5Tp0xctURoa5pcoLS3tv68jShWoGKUKFGDRBgAAAODf1ta2YIkyc+aCJUpDw4IlSlNT+68tXKIsHKUKVIxSBQqwaAMAAADwgbW1JfPmtZcob73VdSWKUgWqRqkCizFp0qQ8/fTT72SllVbKKqusUu3HAgAAAKCWdZQoc+YsWKI0N7cXJh1D5RcuUT5IgaJUgapSqsBinHzyySmVSgtk4MCB1X4sAAAAAGpJW1v7UPn3K1E6D5X/oKdQlCpJlCrUDqUKLIaTKgAAAAAsonOJ0jFUvqWlvdRobKxciaJUgapRqkABFm0AAACAJVRb2/yZKB0lSlNTe2nScZVXpUsUpQpUjVIFCrBoAwAAACxBOk6kzJ7dXlR0DJZfeB5KtUoUpQpUjVIFCrBoAwAAACwBOobMz5w5/0RKx5VeDQ21U6IoVaBqlCpQgEUbAAAAoJdqbW2/3qtjRkpzc3uBUutFilIFqkKpAgVYtAEAAAB6kY7rvTrmpEyfPn9GyrRp7SdUar1IUapAVShVoACLNgAAAEAP19bWfr1Xx5yUjuu9OuakNDa2lyvVLkiUKotlf45aoVSBAizaAAAAAD1Ua+v8OSkzZvScOSlKlQXYn6NWKFWgAIs2AAAAQA/S1tbz56QoVRZgf45aoVSBAizaAAAAADWut81JUaoswP4ctUKpAgVYtAEAAABq0LvNSem43qsnz0lRqizA/hy1QqkCBVi0AQAAAGrIkjAnRamyAPtz1AqlChRg0QYAAACosveak9Lbr/dSqtifo2YoVaAAizYAAABAFXSekzJz5qJzUpaU672UKvbnqBlKFSjAog0AAABQQeakKFUWYn+OWqFUgQIs2gAAAADdrGNOSsf1Xk1N86/3WhLnpChVFmB/jlqhVIECLNoAAAAA3WBxc1I6X++1JM9JUaoswP4ctUKpAgVYtAEAAAC6SOc5KTNmLDgnxfVeSpV3YX+OWqFUgQIs2gAAAAD/hrY2c1KUKv8W+3PUCqUKFGDRBgAAAPgQ5s1rn5Myc2b75n/nIsWcFKXKB2B/jlqhVIHFmDRpUp5++ul3stJKK2WVVVap9mMBAAAA1L6FB843Ny84cN6cFKXKh6BUoVYoVWAxTj755JRKpQUycODAaj8WAAAAQG3qGDi/uDkpBs4rVbqAUoVaoVSBxXBSBQAAAOB9dB44P3Nme5HS1GTgvFKlWyhVqBVKFSjAog0AAACQYgPnzUlRqnQD+3PUCqUKFGDRBgAAAJZoHXNSDJyvzShVoGKUKlCARRsAAABY4rS2ts9JWdzAeXNSaitKFagYpQoUYNEGAAAAlggGzvfMKFWgYpQqUIBFGwAAAOi1DJzv+VGqQMUoVaAAizYAAADQq7zfwHlzUnpWlCpQMUoVKMCiDQAAAPQKixs43zEnRZHSc6NUgYpRqkABFm0AAACgR5s3b/6cFAPne1+UKlAxShUowKINAAAA9Dgds1JmzWrfeO98vVdTkzkpvSlKFagYpQoUYNEGAAAAeoy2tvlXfHXMSuk4leJ6r94ZpQpUjFIFCrBoAwAAADWvtXX+4Pnp0xecleJUSu+OUgUqRqkCBVi0AQAAgJrUccVXx7yUzld8NTY6lbKkRKkCFaNUgQIs2gAAAEBNaWtL5s5tn5fiii9RqkDFKFWgAIs2AAAAUBNaW+fPS5k+vf00SscVX83N1d/cF6VKN7E/R61QqkABFm0AAACgqubNm3/FV3Pz/HkpjY3mpYhSBSpIqQIFWLQBAACAiuuYlzJrVvvGeecrvpqaXPEl86NUgYpRqkABFm0AAACgYjpf8dXSsugVX8oUWThKFagYpQoUYNEGAAAAut28ecns2fPnpXRc8dXQ4Iovee8oVaBilCpQgEUbAAAA6BYdV3x1zEtpamrfHK+vd8WXFI9SBSpGqQIFWLQBAACALtXWlsydO/+Kr87zUlzxJR80ShWoGKUKFGDRBgAAALpEa+uCV3x1npfiii/5sFGqQMUoVaAAizYAAADwb5k3b/4VXx0b4PX17aWKMkX+3ShVoGKUKlCARRsAAAD4wDqu+Jo1q33ju/MVX+alSFdGqQIVo1SBAizaAAAAQGGtrcmcOfPnpXS+4su8FOmOKFWgYpQqUIBFGwAAAFistrb2q73mzm2/3mvmzPmb3A0NrviSykSpAhWjVIECLNoAAABAkvklypw5i5YoTU3zi5T6eld8SeWiVIGKUarAYkyaNClPP/30O1lppZWyyiqrVPuxAAAAgEpra0vefru9ROmYjdLS0r6J3dg4f+D8tGnt/9zc7FSKVD5KFagYpQosxsknn5xSqbRABg4cWO3HAgAAALpba2t7iTJ79oIlSlPTu5coTqNItaNUgYpRqsBiOKkCAAAAS4C2tvYSZe7c9hKl4yqv6dMXvcqroUGJIrUbpQpUjFIFCrBoAwAAQC/wbkPl361EaWpq/zUlitR6lCpQMUoVKMCiDQAAAD3Q+w2V77jKa+ESpdob5CIfNEoVqBilChRg0QYAAIAeoGMeygcZKu8UivSGKFWgYpQqUIBFGwAAAGrQ+w2V7ziFokSR3p6OUmXatOTxx6v9k9kt7M9RK5QqUIBFGwAAAGpAx3VeRYbKNzUpUaRXpq2lJa3Tp+ft5ubMefnlzL322swdOTLzNt88bUstlZTL7d//vYz9OWqFUgUKsGgDAABAlbS1zT+NMnPm/JMohspLL88C5UljY2ZPm5a3/va3zL7kksz9xjcyb4MNklIpKZXSViplUqmUB0ulXFkq5Y2rr672T26Xsz9HrVCqQAEWbQAAAKig1tZk7tz5w+U7ipTOM1EMlZdekkXKk4aGzJo2LTMnT86se+/N7J/8JHO//OW0rr56ppVKeaRUyv9XKmVUqZSvlUrZrFTKcqVSSp1y/Z57VvunuMvZn6NWKFWgAIs2AAAAdLPW1gUHzHdc69VRpDQ0uM5LenTetTypr8+MqVPT8tprmTF2bKYcfXQe3XzzXDtgQE4rlXJgqZStSqUMWag4ea+csc461f6J7nL256gVShUowKINAAAAXaxjPkrnIqW5ecEB84oU6YF53/JkypRMfOWV/Hns2Fx9xBE5bcstc/CQIflsXV1W/QDFyXvloD592n+2ehH7c9QKpQoUYNEGAACALrDwfJQZM9pLk475KNOmtZcqZqNID8j7lSf148fnsQcfzLW/+lVOO+mkHPyVr2T40KFZc5lluqQ4ea9sXSoljzxS7Z/4LmV/jlqhVIECLNoAAADwIXUUKQvPR+lcpJiPIjWe1paWxZYnTRMn5u+PPJLfXXttzj7jjHzrkEOy/XbbZe211kq5XO728uTdsvKyyyavv17tn/4uZX+OWqFUgQIs2gAAAPABdB40P2PG4uejNDU5jSI1mc4FylsNDZlZX59/Pf98bvnd7/L/zjknh3/729lphx2y3rrrpm/fvlUrTt4vjY2N1V4JupT9OWqFUgUKsGgDAADA+1h4PkpHkWI+itRwOl/f9VZDQ6ZPnpwn/vznXPU//5OjjzwyO2y/fVZbddWqFyTvlzXXWCOf3XrrjDj44Jx//vm56aabMmvWrGqvCl3K/hy1QqkCBVi0AQAAYCEdg+YXno/SedB8Y6MiRWomCxcok199NXffdlsuOPvsHHzggdls002z9IABVS9I3i2rrrxytt5qq3zjgANy6qhRueaqq/LIAw9k8muvpfnNNzPttdcyc9q0aq8M3cb+HLVCqQIFWLQBAAAgiw6aX9x8lI5B8zWwiS5LbjoXKLOmTcu4p57Kb6+5JqOOOy5f3n33rLvOOqmrq6t6UbJwhvTrly3XXDP7f/7zGfXDH+aqMWPy4N13541//SvNU6akafLkNE6alIaJEzNt4sTUv/lm6idMSP348WlQqkBFKFWgAIs2AAAAS6zO81E6Fykd81EMmpcqp3OB0jxpUv5y//35n5//PEccdliGb7ttVlxxxaqXJZ2zXKmUzUql7LvMMjlxww1z5f77575LL80rzz+/YGny5pvzS5MJEzJtwoQ0TJyYxokT0zRpUponT870yZPTMmVKZkyalBlvvpk5TU3VXjG6jf05aoVSBQqwaAMAALBEaWtrL1IWno9i0LxUOZ0LlAkvv5zbx47N2aefnv333Tef3Gij9OvXr+qlSalUyjKlUj5VKmWvUinHl0q5olTK/eusk9f32y8to0en8YknFi1N3nyzvTSZNGl+aTJlSlqmTs2MqVMzo74+s+rr89a0aZnd0JA5jY15u6kp85qb09rYmLb6+vbis5eyP0etUKpAARZtAAAAlgitre3D5jtOpHSej2LQvFQ4HQXKW9Om5ZnHH881v/xljv3+9/PFnXfOf6y5ZtWLk6VKpWxYKuXLpVKOKZVyWamU+0qlvFEqpbV//8wdNiwzjzoqzVdfnWnPP/9OadK0UGnSUZjMrK/PrGnT8lZDQ2Y3NGRuU1Pebm5uL02mT0/be/3sNTe3l55KFeh2ShUowKINAABAr9UxJ+Wtt+ZvznbMSDFoXiqQtpaWzJs+PW83NaVxwoQ88Mc/5ucXXJBDDzkkW26xRQYuu2xVy5MBpVI+Uyrl0FIpPyuV8sdSKa+USplXKiX/l9YVV8ycnXfOrJNOSsttt6Xp9dfT3HE11+JKk8bG+aXJ9OlpbWl579Lk/aJUgYpRqkABFm0AAAB6nYWv+GpqWnBGiiJFujgd5cmchob88x//yO1jx+aic8/NEYcdlp132CHrrrNOyuVyVQuU1Uql7FIq5UelUq4rlfL8QuVJR+atvXbm7LNP3vp//y8zH344M6ZMWaA0mbNQafJvFSZFolSBilGqQAEWbQAAAHqN1tZk9uz2zdfp0+df8dVxvVcNbL5Lz05HeTLplVfypzvvzJhf/CI/PProfGWPPfKJjTbK0ksvXfWru8r/d3XX/qVSzimVcmeplEmLKU860jZwYN7+8pczZ/TozH722QVKk/e9mqsSUapAxShVlgBz587Nn//851x77bW5+OKLc8455+Tyyy/PzTffnDfeeKPaj9cjWLQBAADo0RZ3xVfH0PnGxvZypQY246Vnpa2lJS2TJuWJhx/OdVddlVNPPDFf/9rXsuUWW2Tw4MFVL046MqhUyralUkaWShlTKuXxUimz3qNAeadI+Y//yLxDD828sWPTWl9f/eLkvaJUgYpRqvRSM2fOzOWXX54vfOELWWaZZVIul9816623XkaOHJknn3yy2o9dsyzaAAAA9EhtbQsOnnfFl3yIzG1szLi//S03//a3Oe+ss/Ltb34z2w8fXhPD4hfO2qVS9iiVclKplBtKpbxcKqW1QIHyTpGy6aZpO/HE5C9/6Vk/H0oVqBilSi8zderUHHXUUVluueVSLpdTV1eXurq6rLfeetl2222zxx57ZN99982OO+6YzTbbLIMGDXrn95TL5WyxxRa5+eabq/0aNceiDQAAQI8yb96CV3x1DJ53xZe8S9paWvLGiy/mnttuyyUXXZTvjRyZ3XbZJR9df/307du36mXJwulXKmXTUikHl0q5qFTKfaVSGj5AefJO+vdPdt45ufji5MUXq/738KGjVIGKUar0ImeccUaWW2651NXVZeWVV84RRxyRP/zhD2loaHjXf6etrS3/+Mc/Mnr06AwfPvyd0yvbbbddnnnmmQo+fW2zaAMAAFDzOq746jx4vvMVXz3pf3Uv3ZamCRPy6P3359djxuTEH/0o++y5ZzbdeOMMXHbZqhcl75YhpVK+UCrl+6VSfl0q5alSKXM+TIHSkSFDkq9/Pbn22mTSpKr/nXRJlCpQMUqVXqSuri6bb755fv/732fevHkf6s8YP358fvCDH2TZZZfNqaee2sVP2HNZtAEAAKhZra3vfsVXc7MyZQnMnIaGPP/EExl73XU55/TTc8iBB2bbYcOyysorV70gea/079cvGw4Zkv8aNChnlEq5tVTK+FIpbf9OgdKRj340Ofro5K67eudpLaUKVIxSpRe55ZZbuuzPmjJlSh577LEu+/N6Oos2AAAANafjiq+ODdXOV3wZPN/r8851Xbfe2n5d1xFH5Is77ZT11l03ffr0qXpB8m6pq6vLR9ZaK5//3Ody6MEH59wRI3Lzzjvn5ZVXzryuKE86Ui4n22yTnHVW8re/Vf3vq9ujVIGKUapAARZtAAAAakJbWzJ37uKv+DJ4vlem+c038/gDD+TqK67IqOOOyz577plNPvWpLFvD13WVSqWsvNJK2eozn8kBX/taTvrxj/PrK67In++/P5Neeikzrrsucw48MK0rrdR1JUqplAwcmHzlK8mYMclrr1X9766iUapAxShVoACLNgAAAFW18BVfjY2u+OpFmdvYmBeefDI3X399zjvzzHzr4IMzfJttstqqq1a9HHmvLLvssvnUJz+Zr375y/nh0Ufnsp//PPfecUdeHTcu0ydPTsuUKZkxdWpmjB+f2b/+dd7ed9+0Lb981xYpa66ZHHpo8vvft/881MDfZ1WiVIGKUapAARZtAAAAKq5j8Pxbb83fNO244qux0RVfPSxtLS2Z8NJLue/223PpxRfn+0cemS/tskuGrrdeTV/X1a9fvwxdf/3sstNOGXn44bn4/PNz6403ZtzTT2f65MntpUl9fWbW12fWtGl5q6EhcxobM3f8+My78sq07bln2pZdtmuLlE02SX784+ThhxWKHVGqQMUoVZZQU6dOzahRo7LHHntk3333zZgxY/L2229X+7FqlkUbAACAilncFV8dp1Jc8VXzmT5xYv764IO59sorc/Lxx2e/vffOpzfZJAMHDqx6QfJeWXONNbLdZz+bbx50UM467bT89ppr8vdHH03TxImLL02amvJ2c3Nap09PW8f35PjxyWWXJbvtlvTv33UlylJLJTvumFx4YfLCC1X/O67JKFWgYpQqvdTYsWOz/fbb5yc/+ckivzZ+/PistdZaKZfLqaurS11dXcrlcoYPH565c+dW4Wlrn0UbAACAbtfa2j54fubM9lMoHVd8NTS44qvGMq+5Of98+uncdsMNueDss3PYN7+Z7YcPzxqrr171cuS9ssIKK2SLzTbL1/beO6OOPz6/vuKK/OX++zPl9dcXKE1mdypN5nUuTRaXl19OLr44+cIXkr59u65IGTw42X//5Oqrk4kTq/53XvNRqkDFKFV6qQMOOCDlcjm33nrrIr+29957p66uLptsskmuu+66XHHFFVl77bVTLpdzzjnnVOFpa59FGwAAgG6xuCu+OgbPu+Kr6ql/7bU8fPfduXL06Pzo+9/PV770pXx8gw2y1FJLVb0gebf0798/H99gg+y+2275/pFHZvRPf5q7b7str44bl5n19Xlr2rTM/r/TJm83N2dec3NaW1reuzhZOC+8kJxzTrLNNkldXdfORzn88OSOO9pPZdXA90CPiVIFKkap0kt9/OMfz8CBA9Pa2rrA16dNm5a+fftm0KBBmThx4jtff/bZZ9O3b99suummlX7UHsGiDQAAQJdoa0vmzWu/3uutt+YPnnfFV9Uye9q0PPv447nx2mvzk1NPzcFf/3qGbbllhgweXPWC5L3yH2uumc8NH55Dv/nNnHvmmfn99dfn2SeeSMuUKe99RdeHzVNPJaedlmy+edfOR1l33eToo5P77/d9/+9EqQIVo1TppVZYYYXFFiRjx45NXV1d9tprr0V+bdiwYRk4cGAlHq/HsWgDAADwoXScRJkzp31GysyZ8zdAm5rmn0rpuOKr2huzvTQdQ+Lvve22jL7oonzviCPyxZ12yrrrrJNyuVz1guTdsvzyy2fzT386++2zT046/vj8f1demUf+9KdMGz9+sadNuvRza2lJHn00OeGE5BOf6Noi5eMfT447LnnkEUVKV0WpAhWjVOlF1l9//QwdOjRDhw5NXV1dlllmmXf+uSOrrLJKyuVyhgwZssivDRo0KOVyeYGv/exnP6v2a9UEizYAAACFtLa2lyizZ88fNN9xEqWxcX6JMm1a+z+bldKlmTF5cp58+OFc98tf5pQf/7hHDIlfaqml8rENNsiXdt013z/yyFxy8cW55/bb8/qLL2Z2Q0PXnjZ5v7S0JA88kBxzTDJ0aNcWKZtumpxySvLkk1X/PumVUapAxShVepG77747d999d+66667069cv66+//jtf6/j6xhtvnHK5nEsuuWSBX7v77ruzyy67ZOmll17ga//617+q/Vo1waINAADAIhZ3ldeMGe1zUJqa2k+f1NcrUbo4bS0tefW553LH2LG56Jxzcvi3vpXPb7dd1lxjjaoXJB/0uq7nnnwys+rr83ZTU/tpk0oUJwtn+vTkj39MRo5MPvKRritR6uqSYcOSs89Onnuu6t83vT5KFagYpUovtfbaa6d///6ZPHnyO19ramrKwIEDM3DgwMyZM2eRf2fXXXfNeuutV8nHrFmTJk3K008//U5WWmmlrLLKKtV+LAAAAKqp81VenUuUjqu8OpcoDQ3tX5s+XYnyb2T6xIn58z335NKLL853Dz002w4bluWWW67qBcm7ZblBg7LZppvma3vvnVHHHZf/74or8tgDD6RxwoTKnTYpksbG5JZbkm99K1l11a4rUvr0ST73ueTCC5N//rP677kkRakCFaNU6aUOPfTQ1NXVZfjw4Xnsscfy1FNPZffdd0+5XM43vvGNRX7/vHnzMnjw4Oywww5VeNrac/LJJy/y/xiZNwMAALCEebervJqbF3+VV0eJUu3N1R6Yec3NGfe3v+V3V1+dk447Ll/50pey7jrrVL0kWVz69OmT9dddN1/caaf89xFH5BcXXpi7b701r48bl7ebmmqnOFk4U6cm11+fHHhgMnhw1xUpSy2V7LJLMnp08tpr1X/PJTVKFagYpUov9cYbb2TVVSrebiwAACAASURBVFdNXV1dyuVyyuVy6urqMnjw4Lz66quL/P4bbrghdXV1ueiii6rwtLXHSRUAAIAlTOervGbPXvQqr8ZGV3l1Uepfey333X57Lj733Iw46KBssdlmWXrppateliyclVZaKVtvtVUO+vrXc9Ypp+R311yTfzz2WGZNndr1Q+G7K6+/nowZk+yxR7LMMl1XpCyzTPLlLydXXpm8+Wb131OUKlBBSpVebPz48fn2t7+dDTfcMEOHDs3++++fF154YbG/d5dddslaa62VCRMmVPgpewaLNgAAQC/TUaIsfJXX4uahuMrrQ2VuY2P+8eijuebKK/Oj738/X9xpp5qbe9K/f/9s+PGP5yu7755jv//9XDF6dB68++5Mfe212jxtUiTPP5+cd16y3Xbt13F1VZGy3HLJvvsm116bTJlS/feUBaNUgYpRqkABFm0AAIAeruMqrzlzFr3Kq6lp/lVeC5co1d4o7QFpa2nJxJdfzp033ZTzzjwzB+63Xzb+5CfTr1+/qpcmHVlzjTWy/Xbb5bARI3LB2Wfn1htuyD+ffjpvNzVV/fP7t9PSkjzySHLiickmm3RdiVIqtV8TdtBByQ03tP+MVPtd5d2jVIGKUapAARZtAACAHmThq7w6lygdV3ktPA/FVV6FMmvq1Pz1wQdz5ejR+d4RR+Tz222XlVdaqeqlSalUysBll82nN9kkX9trr5x0/PG55oor8tcHH0zLpElV/9y6ZQP9zjuTI49M1lmna4uU1VZLvv3t5NZb239eqv2uUvx7QqkCFaFUgQIs2gAAADWqrW3xA+U7NhkXd5WXEuV909bSklefey43X399zjjppOyz55752Ec/mnK5XPXyZPCKK2a7bbfNEYcdll9ceGHuue22THjppZ57XVfRdAya/8Y3kiFDurZIWXvt5KijkrvvdkKrp0apAhWjVOlFXnrppS77s+bNm5dXXnmly/68ns6iDQAAUCM6X+O1uFkoC59CMQ/lfdP4xht54M4784sLLsh3RozI1lttleWWW67q5Unfvn3ziQ03zH777JOfnHZabrvhhrzx4ou9vzzpnO4aNF8qJUOHJscckzz0kJ+N3hClClSMUqUX6du3b77xjW9k3LhxH/rPmDt3bi6//PKsu+66OfXUU7vw6Xo2izYAAEAVdL7Gq3OB0jELpXOB0nkWilMoi82choY8/cgjuebKK3PcD36QXXfeOWv9x39UvTwplUpZfbXVstMXvpAf/Pd/59djxuSpRx7JnIaGqn9mVUl3DZovlZIttkhOPTV54onqv6d0bZQqUDFKlV7k61//esrlcsrlcrbZZptccsklee21197335s1a1buueeeHHrooRk8eHDK5XLWXnvtPPDAAxV46p7Bog0AANDN3msOyuKu8TIL5V3T1tKS8ePG5bYbbsjZp52W/ffZJ5/caKOaGBw/YMCAbLbppjnkwANzwdln555bb82UV16p+mdW1XQMmj/hhGTjjbu2ROnXL9lhh+Sii5KXXqr+u0r3RakCFaNU6WWefPLJ7Ljjjqmrq3unYFl11VWz6667ZsSIEfnhD3+YE088MUcccUT222+/bLzxxunXr1/K5XLq6uqy8sor57zzzsucOXOq/So1xaINAADQxd7vGq/FFSiu8VokzW++mYfvvjuXXnxxjvj2t/PZrbfOCiusUPXypFQq5T8/8pHsvuuuOeHYY3P9r3+dF558MvOam6v+mdVEmpuTP/whGTky+c//7NoiZdCg5L/+K/nlL5MJE6r/rlK57ymlClSEUqWXeuGFF3L00UdnjTXWSF1d3TvpKFo6f61fv37Zfvvtc+211ypT3oVFGwAA4N/QcQqlyBwU13gtNm83NeXZxx/P/151VU744Q+z+6675j/XXrvqxUmpVMqgQYMybMstc9iIEbnkwgvz0F13pclm/qKZOjX5zW+SAw/s+kHzq62WjBiR/P737T9L1X5XqXyUKlAxSpUlwEsvvZRf/vKXOeWUU3LEEUdkxIgROfbYY3P++efnnnvuycxevNh2FYs2AABAQR/0Gq+GBtd4dUpbS0smvPRS/vD73+e8M8/Mgfvtl00+9an079+/6uVJuVzOBkOHZu+vfjWnjxqVm37zm7zy7LNL1uD4D5rXXkv+53+S3Xfv+kHzH/1o8oMfJPfd115QVvtdpbpRqkDFKFWgAIs2AADAu2hrm3+N16xZxa7x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96Gv92qdPj31r72W5/7619x3++35za9+lZ+ed16OOvzwbLfttllxxRVr5vRJx+wTp096cV58MbnyyuSQQ5KhQ7u/RFlmmWT77ZNRo5I772z/man2ZyDSE6JUgYpRqixhZs+enaeeeip/+tOf8sQTT6SlpaXaj9QjWLQBAID31fl6rxkzFrjea87kyRn//PN54qGHcvuNN+aqyy7LuWeckR8cdVQO3G+/7PSFL2STT30qq6+2Wvr27Vv10qQjffr0yYYf+1j223vvnH3aablj7NhMeOklp096cxoakptvTr797WTddbu/RBk0KNlpp+S005J7720vIKv9GYj0xChVoGKUKlCARRsAAOisra0tzc3NeXHcuDx0//254brrMvqii3Lqj3+c744Ykb322COfHTYsGwwdmhVWWKHq5UiRDB48ONsPH57vHXFErhw9Ok889FDeqq+v/kahdH/efDO56qpk772T5Zfv3hJlhRWSXXdNzjoreeCB9vKx2u8v0huiVIGKUapAARZtAADo/ebNm5dJkyblqaeeyl133ZVrrrkmF1xwQY477rgccsgh2W233bL55pvnIx/5SAYMGFD1EuTDplwu5+MbbJB9/+u/ctYpp+S2G27I+HHjnD5Z0vLii8mFFyY77NA+/L27SpQhQ5I99kjOOSf585/bN36r/e4ivTFKFagYpUovd+aZZ37gsCiLNgAA9A7Tp0/P3//+99xwww0599xzc9hhh2XHHXfMuuuumz59+lS98OjqrLDCCtlu221z1OGH5/Jf/CKPP/BAZhn0vWSmpSV59NHkpJOSzTbrvhJllVWSPfdMLrggeeyx9plC1X53kSUhShWoGKVKL1dXV5dyuVwoHb+XRVm0AQCgZ2hra8uECRPywAMP5KqrrsqoUaOy//77Z6uttsrKK69c9ZKju1JXV5cNhg7N3l/9as446aTc8tvf5vUXXnD6ZElPc3Pyhz8kRx7ZffNR1lwz2Xff5Kc/TZ58sr28qfZ7iyyJUapAxShVerkTTjghJ5544mJz9NFHZ/fdd8+AAQPSv3///Pd//3dOPPHEaj9yTbJoAwBA7Zg9e3ZeeOGF3HbbbfnZz36W733ve9l9992z0UYbZemll656wdHdWX755fPZrbfOyMMOy5if/zyP3n9/Zk6ZUv0NPamNTJmSXHdd8vWvt1+91dUlytprJwcckIwenfzjH0oUkVqJUgUqRqlC/vWvf2WrrbbKxhtvnBkzZlT7cWqSRRsAACqroaEhjz/+eP73f/83Z511VkaMGJHPfe5zWWuttVJXV1f1YqM70q9fv/zHmmvm05tski/utFMOOuCA/PB738v5Z52VX48ZkztvuimvPvec0yeyaF55JbnkkmS33ZKll+7aEmWttZKDDkrGjEmef7767yoii49SBSpGqUKS5PXXX0/fvn1zzDHHVPtRapJFGwAAuta8efPy2muv5d57782YMWNy/PHHZ5999slmm22WFVZYoeoFR1eeKhm6/vrZZtiw7LnHHvnOiBE5+fjj84sLLsjvrr46D9x5Z1548sk0vvGGskQ+WJ56KjnzzGTYsKRc7toiZeONkx//uH2wvO9LkZ4RpQpUjFKFd2y88cb5z//8z2o/Rk2yaAMAwAc3c+bMPPPMM7nppptywQUXZOTIkfniF7+Yj370o1lqqaWqXnh8mPTp0yerrbpqPvWJT2THz38+B+y7b44eOTJnn3Zarhw9OrfdcEMef+CBvP7CC3mrvr76m2zSezJ9enL//ckxxyQf+1jXlih9+iSf+1xy3nnJc89V/11F5INHqQIVo1ThHRtssEH69+9f7ceoSRZtAABYVFtbW6ZMmZK//OUvufrqq3PqqafmoIMOyrbbbpvVV1+96gXIB8kyyyyTT260UXbfddd86+CDc8IPf5iLzz03/3vVVbn3ttvyzGOPZeqrr6Z1+vTqb5zJkpNp05KxY5MRI5LVVuvaImXgwOSrX02uuCIZP7767yoi/16UKlAxShWSJI8++mj69OmTtddeu9qPUpMs2gAALKnefvvtvPzyy/njH/+Y0aNH55hjjsmee+6ZjTfeOIMGDap6GfJBsuoqq2Trz3wmB+6zT04+9tj8evToPHzXXZn08suu3pLayRtvJFdemey5ZzJoUNcWKauumnzzm8mNN7Zvvlb7XUWk66JUgYpRqvRyDz/88LvmoYceyo033pjjjjsugwcPTrlczrHHHlvtR65JFm0AAHqz6dOn5+9//3tuuOGGnHvuufnOd76THXfcMeuuu2769OlT9TKkaPr27Zv1118/O++4Y7777W/n/LPOythrrsnTDz2Ulldfbd9samxsv0ap2ptfIp3zwgvJ+ecn22+f9O3btUXKBhu0Xxl2332+90V6c5QqUDFKlV6urq4u5XL5PVNXV5e6urrsuOOOmTVrVrUfuSZZtAEA6Mna2toyYcKEPPjgg7nqqqsyatSoHHDAAdlqq62y8sorV70M+SBZbrnlsummm2avvfbKj370o1x26aW5+84788q4cXm7uXn+xlJDQ1Jf377B1NRkM1lqK+PHt58WOfbYZJNNurZEqatrH15/5pnJ3/9e/XcVkcpEqQIVo1Tp5bbZZptsu+22i81nP/vZ7LLLLjniiCNy2223VftRa5pFGwCAWjd79uyMGzcut99+e372s5/le9/7XvbYY49stNFGWXrppatehnyQrLnmmhk+fHgOOeSQnH766bn22mvz6KOPpr6+Pm1tbUlbWzJvXjJ7dvvmUcdmkiJFajHTpyePPZb8/OfJN77RfnKkK0uUUikZMCDZddfkkkuSf/2r+u8sIpWPUgUqRqkCBVi0AQCoBQ0NDfnrX/+a3/zmNznrrLMyYsSIbL/99vnIRz6Surq6qpchRdO/f/987GMfy2677ZajjjoqF110UW655ZY899xzeeuttxb/8osrUpqaFClSe5kwIbnppuTHP0522CFZfvmuL1FKpWTw4OSAA5LrrksmT67+e4tIdaNUgYpRqkABFm0AACqhtbU1r7/+eu67775cfvnlOf7447Pvvvtm8803z4orrlj1MuSDZMiQIdliiy3yta99LSeccEKuuOKK3H///Rk/fnxaW1uLfSBFixRD5qVaaWlJnnwyufTS5OCDkw03bL9+qztKlFIpWWedZOTI5I472r/3q/3+IlI7UapAxShVoACLNgAAXWXWrFl59tlnc/PNN+fCCy/MyJEjs+uuu2aDDTbIUkstVfUypGjK5XLWXnvtfP7zn8+hhx6as88+O9dff32eeOKJNDY2fvgPqK0tefvt+UVKS4siRWonkyYlt96anHRSsvPO7adFuqtA6cinP52MGvX/s3fmcTZXj/+f971jFrsxdtl3EpGdkJQtCikkQpQkWfqEKOuXpBAJWbJXlihMspVshRBSISXrjFkzmJn7/P1xf3cWS43ceb/v3Pt6Ph7Px/fhupnzvvd+z2fufd5zDuzerde9lPL2KqoIYRqKKl7Ed9995xbFzWjSFkIIIYQQ6cXhcHDx4kV2797NkiVLGD16NN27d6dhw4YULlzY8hhyJ2bNmpUqVarQtm1bXn31VWbMmMGGDRv4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TJnCmjVrOHjwIDExMVY/RZmDGw+ed23xFRGhLb7kfzMmBnbscG6v1awZZM2acRElOBgeegjGjIFvv3V+2Gj19UspZUaqqCKEaSiqeDlZs2alVq1ayX9+9NFHsdlsXLx48ab7PvDAA+TJk8ctP/fkyZPMnj2bXr16UbVqVex2O35+fgwfPjxd/31YWBiPPPIIISEhBAcHU6VKFcaPH8+1a9duum/jxo25//77mTt3LiVKlMBut1OhQgWWLl3qlmsBTdpCCCGE8Dyio6PZv38/n332GRMnTuT555/noYceomTJksm/e3mzrgPhH3zwQXr06MHo0aNZvHgx3333HefOnfPtLbrulsRE5xZfcXHOD8F18Lz8r8bGwoED8O670LYthIRk7HZedeo4V71s2OD8YNHq65dSSjNVVBHCNBRVvJyyZctSsmTJ5D/36dMHm81GWFhYmvs5HA4KFixIcHCwW37ugAEDbvnmNz1RZfLkycn3L168ONWqVcPf3x8/Pz/q1q3LlStX0ty/fPnyZM+enXz58jFv3jw2bdpE586d8fPzY9OmTW65Hk3aQgghhDCbpKQkzpw5w/bt25k/fz4jRozg6aefplatWoSGhloeNcyIJvny5aNGjRp07NiRoUOHMmvWLMLCwvj1119v+WUbcRfc6uD51Ft8aVWKTK+//gpz5kCXLlCkSMaei1KlivP8lc8+c57HYvW1SymllSqqCGEaiipeTrt27QgKCkp+07lixQoMw6BevXpER0cn32/s2LEYhkHNmjXd8nPHjBlD69atGT16NBs2bKB9+/bpiip79uzBMAwMw2D+/PnJt//222+UKVMGPz8/BgwYkOa/cd2+evXq5NscDgfVqlVz23ZmmrSFEEIIkRFcvXqVY8eO8cUXXzBt2jQGDBhA69atqVixIkFBQZaHDXcbGBhIsWLFeOCBB2jVqhU9evTgf//7H1OmTGHJkiVs2rSJgwcPcv78eRISEqx+enyDG7f4ch08HxGhg+dl+jx/HpYvh+efh3LlMjailCwJ3bvDggVw8qT11y6llJ6koooQpqGo4uXMmTMHwzBYv3494Nxfu1KlShiGQc6cOalTpw4lS5bEZrNhs9lYtmxZhozj2WefTVdUad26NX5+fjz33HM3/d327dvx8/MjICCACxcuJN9eu3Zt/Pz8iI2NTXP/V199lZCQELeM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D3euHHn8ceeWXO4IKcWLw+DBsHu3YpyUUkrpThVVhDANRRUvp127dthsNr766qvk224VVZYvX45hGHTv3t3sIWYKNGkLd5OYmMi5c+fYv38/69ev56OPPmLs2LH069eP9u3bU69ePUqWLElQUJDl0eNu9ff3p3Tp0jz88MM8//zzTJgwgRUrVrB3714uXbqk80mEEMKTcJ2T4treKypK23v5mlFRsHYtPPMM5MrlnpCSPz+88AJs2aLXj5RSSplRKqoIYRqKKl7O119/jWEYFC9enD179gA3R5WwsDBCQkKw2+388MMPVg3Vo9GkLdJL6i24Vq1axYwZMxgxYgQ9e/akZcuW3H///RQqVAi73W557HCnBQoUoG7dunTu3JkRI0bw0UcfsXXrVn7//XcSEhKsflqEEEL8Ew6H85wU1/Ze0dHa3svXjI2FzZuhb1/Il889ISVXLujWDdat09ZeUkoppRkqqghhGooqPsDgwYMxDAO73U7VqlXJly8fNpuNjh07UrFiRWw2G4ZhMHr0aKuH6rFo0vZtrly5wu+//87evXtZt24dH330EePHj+eVV16hc+fONG3alEqVKpEnTx7L40ZGmT17du69914ee+wxXnnlFaZOncq6dev46aefiIuLs/opEkIIcSc4HM6tvVwhJfX2XuHh2t7Ll9y927kVV/Hi7gkpwcHwxBOwbJnzQx2rr09KKaX0JRVVhDANRRUfYc6cORQqVAjDMG6yQIECzJ071+ohejSatL0Lh8NBREQEx44dY9u2bXzyySdMnz6dN954gz59+tCuXTvq1atH6dKlyZEjh+VBwwztdjslS5bkoYceolevXowfP55ly5axZ88eLl68qC26hBAis5OU5IworjNS4uKc0ST1OSmu7b2s/kBAZqyHD8PIkVCxontCir8/PPIIzJ3rPMze6uuTUkopfVVFFSFMQ1HFh0hISOCbb75hxowZjBs3jqlTp/L1119z9epVq4fm8WjS9nyuXbvGmTNn2LdvHxs2bGDhwoVMmjSJwYMH88wzz/DII49QrVo1ChcujL+/v+URwwrz5ctH7dq1eeqppxg2bBhz5sxh8+bNnDx5Ult0CSGEt+FwQEKCM6K4zkdxRRTXGSkREc4VKTonxfv97TeYOBEeeMA9IcXPD+rXh6lT4fffrb8+KaWUUiqqCGEiiipCpANN2ubj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CuAcpQqAdnniiSdkjLVPga2xsTHywvvmm28mvN+iRYtkjNF+++3XrsebMGGCjDG65pprYm63rxhv7eeNHTtWxhjNnj27XY8JwFtejivhcDjy5uS3v/1tzNcYV4Dskqqxpby8XHvssYcGDBgQ+aCitVLFvqozPz8/6Sy3qVOnyhijadOmtfNZAvBaKsYWu1S5/PLLNX78eE2YMEEXXXSR/vrXvybdy42xBcgebo8rDz74oIwxmjhxourr63X//ffr9NNP17hx43TBBRfomWeeSbhkGOMK4BylCoB2mTJliowxmjJlSuS2zz//PPJGYNOmTQnv9/bbb8sYo2Aw2Oq012hbtmxRfn6+jDFaunRpzNd+85vfyBijCRMmJL3/z372MxljdN555zl6PAD+8GJcqa6u1ocffqizzz478sajpKQk5nsYV4Dskqqx5eKLL5YxRosXL47c1lqpYn+wMXTo0KTHOnfuXBljdOyxx7bjGQLwQyrGFvu+iTJ8+PAW+8RJjC1ANnF7XLGXE5s2bZpGjhyZcGw57rjjVFpaGvPzGFcA5yhVADj2wgsvRF6A33777cjt7777buT22trahPf93//+F/me1vZRiXbmmWfKGKMDDjhATU1NMV+75JJLZIzRj370o6T3v+666xIu8QMgfaR6XNlvv/1i3jzk5eXpmmuuSfj9jCtA9kjV2PLWW28pEAjopJNOirm9tVLltttukzFGo0aNSnq8CxYskDFGRUVF7XiWALyWqrFl4sSJWrx4sdatW6e6ujpt2bJFCxcuVP/+/WWM0eDBg1ss4cPYAmSHVIwr9jLqnTp1UjAY1M0336xt27apurpazzzzjHr16iVjjM4444yYn8e4AjhHqQLAkXXr1qlnz54yxuiKK66I+dobb7wReSFPNj19/fr1ke/55ptv2ny8O++8U8YY5ebm6p133mnxdXvKaWtXi994440yxmjcuHFtPh4A73kxrvzoRz/SmDFjVFRUpC5dusgYo3333VdPPvlki+9lXAGyQ6rGlvr6eh1wwAEqKCjQunXrYu7TWqkya9asNq/ofPjhhxMu3wEgfXj9fsi+T/fu3WVMy6VHGVuAzJeqcWXcuHGR2+OXUpekv/3tb5Gvr1mzJnI74wrgHKUKgDZt3rxZgwcPjiyLEz9d3e2ZKk899ZSCwaACgUDCDyckrigHMp3X44pkfSB69913R5YVjC9WGFeAzJfKseWmm25K+MGmxEwVINv5cd5iu/7662WM0YgRI2JuZ2wBMlsqx5VJkya1WeLaM/rnz58fuY1xBXCOUgVAq4qLi3XwwQfLGKMxY8aourq6xfe4uffBCy+8oE6dOskYo9///vdJv4+9D4DM5fW4Eu+WW26RMUaDBg2KuZ1xBchsqRxbPvvsM+Xl5Wn//fdXfX19i/uwpwqQvfw+b3nuuedkjFHXrl1jbmdsATJXqseVc889N+G4Ec0uXi655JLIbYwrgHOUKgCSKi8v1xFHHCFjjEaOHKmysrKE39fY2Ki8vDwZY/Tmm28m/J5Fixa1OUX01VdfVUFBQdKrQKM9+uijbf68sWPHOvpZALzj9biSyMcffxx5gxL9+IwrQOZK9diydOlSGWPUpUsX9evXr0WCwaCMMdptt93Ur18/XXjhhZH7vv766zLGKD8/X42NjQkf015+cNq0abvwWwDgtnQ4b1m2bJmMMSooKIi5nbEFyExejCuzZ8+WMUY9e/ZMehynn366jDGaPn165DbGFcA5ShUACVVXV+vYY4+VMdZG8du3b2/1+4866igZY3TzzTcn/PpFF10kY4zOPvvshF//5z//qa5du8oYo1/+8pdtHt+nn34a+VB08+bNLb5eX1+vbt26yRijl19+uc2fByD1vB5Xklm9enVk/CguLo7czrgCZCYvxha7VHGaKVOmRO5bUVER+VBk1apVCR9z6NChMsbogQce2InfAIBUSJfzlttvv13GWJvVR2NsATKPV+PKP/7xj4QXkUUbPnx4i4vFGFcA5yhVALRQX1+vCRMmRK542LhxY5v3mT9/vowxGjZsWIsrGsrKytSjRw8ZY7R06dIW9129erV23313GWP085//3PFxHnTQQTLGaNasWS2+Zl9x3rt373ZNrweQGl6PK6357W9/K2OMvvOd77T4GuMKkFnSZWxpbfkvqXmJjalTp7b4mn1VaF5enrZu3er4MQGkTrqMLVVVVZF9DxK9T2JsATKHl+NKY2Oj+vbtK2MSL6u+evVqBQIBGWP09ttvx3yNcQVwhlIFQIympiadccYZMsZor7320pdffunofhUVFZEX7Ysvvjiy3nhFRYVOPvlkGWN0yCGHKBQKxdxv7dq1kfudf/75CofDjo918eLFMsaosLBQy5Yti9z+3nvvqXfv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+edTp04dwjCkffv2TJ06tcrqmjt3bup1W6tXr04d33///QmCgJtvvrnU68477zyCIGDw4MHFjj/00EOpMKY0s2bNIggCcnJy2LhxY+r4hg0byM7OJggCZs+eXeq1Xbp0IQgCHnnkkW29zVLZtCVJkhSpxYvhvvvgyCOLNpGvKEjZaScYNgxeeQV++CHq6iVJkn4x53OKC0OVGLrooosIw7BEYDJixIjUK69+XHXq1GHevHlVUteDDz5IEAS0bds2dWzr1q2pgOPtt98u9bonnniCIAjYZZddih3/8UmUc889t9Trtm7dSk5OTonv/vFJlJycnBJPxvxo6NCh5X73trJpS5IkqUpt2QJvvgmXXVa070lFIUoYwgEHwOjR8NFHRa8FkyRJqkGczykuDFViaK+99qJevXrF9iD54Ycf2GGHHcjJyWHq1KmsW7eOSy+9lEQisd2Cg9IUFBSwdOlS7r//furXr09mZibPP/986vzChQtTT68sX7681O949913U68Ny8/PTx3v27cvQRAwZsyYMn+/c+fOBEHAhAkTUsceeeQRgiCgS5cuZV530003EQQB/fr125bbLZNNW5IkSZVu+XKYMKHoVV0NGlQcpDRpAqefDk8+CT95klySJKkmcj6nuDBUiaHmzZuXeCXW66+/TiKR4NRTT00dy8vLY4cddqBjx47bvYY//OEPqbDkx3XooYeWeBrl/fffT53/oYzXCsybN6/U14Z17dqVIAh48MEHy6yjd+/eBEHA7bffnjp22223EQQBffr0KfO6Bx54gCAI2GOPPdK95VRjLm2FYWjTliRJ0vZVUACzZ8O118Lee1ccogQB9OgB11wD775bdL0kSVItYaiiuDBUiaGsrCx69+5d7NjIkSMJw5DHHnus2PG9996bOnXqbPcaHn/8cfr27Uvv3r1p0aIFQRBQt25dhg0bViw8mTlzZiowKSwsLPW7Fi9enPrM0qVLU8c7duxY4imU/9avXz+CIOAPf/hD6tiNN95Y4VMoEyZMKPWVY+UxVJEkSVKlW7MGnnoKzjgDmjZNb5P5QYPgkUfg66+jrl6SJCkyhiqKC0OVGGrSpAk77bRTsWMHHXQQYRiyaNGiYsd79epFgwYNKr2mWbNmseeeexIEAUceeWTqeE16UqU8Nm1JkiT9LMkkfPwxjBkDffsW7X1SUZDSpQtceim8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AAAAKogqAAAAAAAAFUQVAAAAAACACqIKAAAAAABABVEFAAAAAACggqgCAAAAAABQQVQBAAAAAACoIKoAAAAAAABUEFUAAAAAAAAqiCoAAAAAAAAVRBUAAAAAAIAKogoAAAAAAEAFUQUAAAAAAKCCqAIAAAAAAFBBVAEAAAAAAKggqgAAAAAAAFQQVQAAAAAAACqIKgAAAAAAABVEFQAAAAAAgAqiCgAAAAAAQAVRBQAAAAAAoIKoAgAAAAAAUEFUAQAAAAAAqCCqAAAAAAAAVBBVAAAAAAAAKogqAAAAAAAAFUQVAAAAAACACqIKAAAAAABABVEFAAAAAACggqgCAAAAAABQQVQBAAAAAACoIKoAAAAAAABUEFUAAAAAAAAqiCoAAAAAAAAVRBUAAAAAAIAKogoAAAAAAEAFUQUAAAAAAKCCqAIAAAAAAFBBVAEAAAAAAKggqgAAAAAAAFQQVQAAAAAAACqIKgAAAAAAABVEFQAAAAAAgAqiCgAAAAAAQAVRBQAAAAAAoIKoAgAAAAAAUEFUAQAAAAAAqCCqAAAAAAAAVBBVAAAAAAAAKogqAAAAAAAAFUQVAAAAAACACqIKAAAAAABABVEFAAAAAACggqgCAAAAAABQQVQBAAAAAACoIKoAAAAAAABUEFUAAAAAAAAqiCoAAAAAAAAV/gMEnKdAreqa7wAAAABJRU5ErkJggg==\" width=\"999.6166666666666\">"
|
|
],
|
|
"text/plain": [
|
|
"<IPython.core.display.HTML object>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"\n",
|
|
"from ipywidgets import *\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"import time\n",
|
|
"%matplotlib notebook\n",
|
|
"import math\n",
|
|
"import random\n",
|
|
"\n",
|
|
"time = np.linspace(2019, 2060,30)\n",
|
|
"\n",
|
|
"\n",
|
|
"# annual return of stock market\n",
|
|
"historical_yearly_return = [18.5,5.2,16.8,31.5,-3.1,\n",
|
|
" 30.5,7.6,10.1,1.3,37.6,\n",
|
|
" 23.1,33.4,28.6,21.0,-9.1,\n",
|
|
" -11.9,-22.1,28.7,10.9,4.9,\n",
|
|
" 15.8,5.5,-37.0,26.5,15.1,2.1,16.0,32.4,13.7,1.4,11.9];\n",
|
|
"\n",
|
|
"\n",
|
|
"house_appreciation = [5.5, 3.52, 5.3, 3.9]\n",
|
|
"\n",
|
|
"# income and initial condition parameters\n",
|
|
"starting_sum = widgets.FloatText(value=100000,min = 0, step = 10000, description = \"Starting $\")\n",
|
|
"\n",
|
|
"\n",
|
|
"display(widgets.HTML(value=\"<h3>Initial savings</h3>\"))\n",
|
|
"display(widgets.HTML(value=\"<p>This amount is the what you have saved up, that you're willing to put down as downpayment for a house</p>\"))\n",
|
|
"display(starting_sum)\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"# buying \n",
|
|
"house_cost = widgets.IntText(value = 600000, min = 400000, step = 10000, description = \"Cost ($)\")\n",
|
|
"tax_rate = widgets.FloatSlider(value = 1, min = 1, step = .1,max=4, description = \"Tax (%)\")\n",
|
|
"interest_rate = widgets.FloatSlider(value = 3, min = 1, step = .5, description = \"Interest (%)\")\n",
|
|
"duration = widgets.IntSlider(value = 20, min = 5, max=30, step= 1, description = \"Duration (y)\")\n",
|
|
"\n",
|
|
"display(widgets.HTML(value=\"<h3>Buying</h3>\"))\n",
|
|
"box1 = widgets.HBox([house_cost, tax_rate])\n",
|
|
"box2 = widgets.HBox([interest_rate, duration])\n",
|
|
"display(widgets.VBox([box1,box2]))\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"# assuming renting and investing\n",
|
|
"display(widgets.HTML(value=\"<h3>Renting and investing</h3>\"))\n",
|
|
"\n",
|
|
"\n",
|
|
"rent_fraction = widgets.IntSlider(value = 50, min = 0, max = 100, step = 5, description = \"Rent frac (%)\")\n",
|
|
"rent_growth = widgets.IntSlider(value = 1, min = 1, max = 30, step = 1, description = \"Rent hike (%)\")\n",
|
|
"rent_box = widgets.HBox([rent_fraction, rent_growth])\n",
|
|
"\n",
|
|
"\n",
|
|
"display(rent_box)\n",
|
|
"\n",
|
|
"\n",
|
|
"fig = plt.figure(figsize=(10, 7),num=None)\n",
|
|
"\n",
|
|
"# first plot shows mean asset value in the two cases. \n",
|
|
"ax_value = fig.add_subplot(2, 1, 1)\n",
|
|
"ax_value.set_ylabel('Mean Asset Value ($)')\n",
|
|
"rent_asset_mean, = ax_value.plot(time,time*0+1,'r-',linewidth=3)\n",
|
|
"\n",
|
|
"\n",
|
|
"buy_asset_mean, = ax_value.plot(time,time*0+1,'k-',linewidth=3)\n",
|
|
"\n",
|
|
"\n",
|
|
"# second plot shows anticipated housing costs for both renting and buying\n",
|
|
"# this does not include utilies, etc. which are common to both scenarios\n",
|
|
"ax_costs = fig.add_subplot(2,1,2)\n",
|
|
"ax_costs.set_xlabel('Year')\n",
|
|
"ax_costs.set_ylabel('Housing cost ($)')\n",
|
|
"\n",
|
|
"rent_cost, = ax_costs.plot(time, time*0 + 1, 'r-')\n",
|
|
"buy_cost, = ax_costs.plot(time, time*0 + 1, 'k-')\n",
|
|
"\n",
|
|
"\n",
|
|
"\n",
|
|
"fig.canvas.draw()\n",
|
|
"fig.canvas.draw()\n",
|
|
"fig.canvas.flush_events()\n",
|
|
"\n",
|
|
"\n",
|
|
"def income(growth_rate,starting_income):\n",
|
|
" predicted_income = 0*time + starting_income\n",
|
|
" for i in range(time.size):\n",
|
|
" predicted_income[i] = starting_income*math.pow(1 + growth_rate, i)\n",
|
|
" return predicted_income\n",
|
|
" \n",
|
|
"\n",
|
|
" \n",
|
|
"def estimateStockGrowth(annual_contrib,initial_contrib):\n",
|
|
" # how many samples to randomize across? \n",
|
|
" N = 100\n",
|
|
" \n",
|
|
" ensemble_returns = np.zeros((N,time.size))\n",
|
|
" \n",
|
|
" # initialize\n",
|
|
" ensemble_returns[:,0] = initial_contrib\n",
|
|
" \n",
|
|
" \n",
|
|
" for ti in np.arange(1,time.size):\n",
|
|
" for i in np.arange(0,N):\n",
|
|
" # pick a random yield rate\n",
|
|
" r = random.choice(historical_yearly_return)/100\n",
|
|
" ensemble_returns[i,ti] = ensemble_returns[i,ti-1]*(1+r) + annual_contrib[ti]\n",
|
|
" \n",
|
|
" return ensemble_returns\n",
|
|
" \n",
|
|
"\n",
|
|
"def updateAll(change):\n",
|
|
" # compute annual payments assuming buying a house\n",
|
|
" r = interest_rate.value/100\n",
|
|
" n = duration.value\n",
|
|
" annual_payment = (house_cost.value - starting_sum.value)*(r)*math.pow((1+r),n)/(math.pow(1+r,n) - 1)\n",
|
|
" temp = 0*time + (tax_rate.value/100)*house_cost.value\n",
|
|
" for i in range(0,n):\n",
|
|
" temp[i] = annual_payment\n",
|
|
" \n",
|
|
" # plot monthly housing cost\n",
|
|
" buy_cost.set_ydata(temp/12)\n",
|
|
" to_invest = temp[0] - temp\n",
|
|
" ax_costs.set_ylim([0, annual_payment*.15])\n",
|
|
" \n",
|
|
" # now compute how much rent we can afford\n",
|
|
" temp = 0*time + annual_payment/12*rent_fraction.value/100\n",
|
|
" \n",
|
|
" for i in range(1,time.size):\n",
|
|
" temp[i] = temp[i-1]*(1+rent_growth.value/100)\n",
|
|
" \n",
|
|
" \n",
|
|
" rent_cost.set_ydata(temp)\n",
|
|
" \n",
|
|
" # so now calculate the amount we expect to be able to invest if we rent\n",
|
|
" rent_invest_contrib = annual_payment/12 - temp\n",
|
|
" \n",
|
|
" ensemble_returns = estimateStockGrowth(rent_invest_contrib,starting_sum.value)\n",
|
|
" mean_stock = np.mean(ensemble_returns,axis=0)\n",
|
|
" std_stock = np.std(ensemble_returns,axis=0)\n",
|
|
" \n",
|
|
" \n",
|
|
" rent_asset_mean.set_ydata(mean_stock)\n",
|
|
" ax_value.collections.clear()\n",
|
|
" shade = ax_value.fill_between(time, mean_stock-std_stock, mean_stock + std_stock,color=[1,0.8,0.8],alpha=.2)\n",
|
|
" \n",
|
|
" ax_value.set_ylim([starting_sum.value, max(mean_stock+std_stock)])\n",
|
|
" \n",
|
|
" ax_value.set_yscale('log')\n",
|
|
" \n",
|
|
" \n",
|
|
" # now compute house appreciation over time\n",
|
|
" house_value = 0*time + house_cost.value\n",
|
|
" for i in range(1,time.size):\n",
|
|
" r = random.choice(house_appreciation)/100\n",
|
|
" house_value[i] = house_value[i-1]*(1+r)\n",
|
|
" \n",
|
|
" \n",
|
|
" # after the house is paid off, annual payments are diverted to investments\n",
|
|
" ensemble_returns = estimateStockGrowth(to_invest,0)\n",
|
|
" mean_stock = np.mean(ensemble_returns,axis=0) + house_value\n",
|
|
" std_stock = np.std(ensemble_returns,axis=0)\n",
|
|
" \n",
|
|
"\n",
|
|
" buy_asset_mean.set_ydata(mean_stock)\n",
|
|
"\n",
|
|
" shade = ax_value.fill_between(time, mean_stock-std_stock, mean_stock + std_stock,color=[.8,0.8,0.8],alpha=.2)\n",
|
|
" \n",
|
|
" \n",
|
|
" fig.canvas.draw()\n",
|
|
" fig.canvas.flush_events()\n",
|
|
" \n",
|
|
"\n",
|
|
"\n",
|
|
" \n",
|
|
" \n",
|
|
" \n",
|
|
"# listeners\n",
|
|
"house_cost.observe(updateAll)\n",
|
|
"tax_rate.observe(updateAll)\n",
|
|
"interest_rate.observe(updateAll)\n",
|
|
"duration.observe(updateAll)\n",
|
|
"rent_fraction.observe(updateAll)\n",
|
|
"rent_growth.observe(updateAll)\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.6.5"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|