1162 lines
158 KiB
Plaintext
1162 lines
158 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": 4,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"application/vnd.jupyter.widget-view+json": {
|
|
"model_id": "e2018b9b15c14dd490177db8a0237bf5",
|
|
"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": "e8ccb4b41d8449e5923d8cd0a55e8777",
|
|
"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": "2b24163421844d0fa7d6994f981885c5",
|
|
"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": "441edb607479477fa6dae34b0fc12faf",
|
|
"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": "b969b9f7279e438aade9e2e7fc6faefa",
|
|
"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": "b61c61d906fc422b9bb51e9f83dc22da",
|
|
"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": "2b5076d605f3475884093df9dee88437",
|
|
"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,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+lbywANdb5eVqAJVI6r0IHV1ddloo41y5513ZtasWR/qz3j99ddz/PHHp3///jnzzDM7+Aq7L4s2AAAA5J0hpbX1nSGlqUlI6cCZPGFCHn3ggVx+8cX55oEHZqPPfCb9+vWreUBZbrnlss1WW+XIww/PTy65JH+8996M+89/3nPXycympsz6IOFk7nnxxeTaa5ODD07WXLNzA0qpVHld2KabJscfn9xxR9fZkfJuI6pA1YgqPciIESM67M9688038+STT3bYn9fdWbQBAABYaLWHlKlT5w0pkybNOWi+qanr/Zv73XDGv/RS7r3zzpz3/e/na1/5StYcMiR1dXU1jScDBgzIxhtumG/su2/OP+ec3H377Xn5hRc6dtfJ/NPamjz/fPLTnyb775+sumrnR5R+/ZLPfz753veSu+9O3nyz5j8PH2hEFagaUQUKsGgDAADQo7W1JbNnV85FmTkzmTGjcj7K1KlzHnLPH1IcNP+hZ3ZLS178+99zy3XX5eQTTsguO+6YFZZfvqbxpHfv3vnkWmtljy99KaedfHJ+dd11GfnXv84TT96x66S5+cOHk/lnzJjkqquSvfdOVlyx8yNK//7Jdtslp5+e/OEPlZ/tLvCz8aFHVIGqEVWgAIs2AAAA3daCgsm0aZVg8tZbc85DmTy5EklaWioPaJuahJQOmKn19fnbww9n+OWX56jDDssWm26aAQMG1DSgrPjxj2enHXbIcccck6uvuCKP/fGPmTR2bOfsOnmvqa+vnIsydGiyyCKdG1GWXDLZeefk7LOThx6qnPfTBX4+OmxEFagaUQUKsGgDAADQJc0dTNp3l3yQYNLYOCeazD2TJlUiSmOjkPIBZuIrr+SBu+/OReedl/332Sef/tSn0rt375rFk169euWTa62VvfbcM+eccUbuvv32vPbii+/YdTKjo3edvN/D/xEjkgMOqISOzoooAwdWYs355yePPFL57+0CPyOd+n0VVaAqRJWF1MSJE3Paaafli1/8Yvbaa69cffXVmTlzZq0vq8uyaAMAAFB17cFk7tdxfZBg0tDw/sGkqanyz7S0VP4M8aTQTG9oyLOPP57rhw/Pd7/zney0/fY1f33XgP79s+lnP5tDDzool110UR6+//7UjxmTt+rr57yyqzN3nbzXtLYmDz+cfOtbyQordE5EWW65ZI89kosvTp58svIz3QV+Vqo2ogpUjajSQ91xxx3ZZptt8oMf/OAdv/b6669npZVWSrlcTl1dXerq6lIul7PllltmxowZNbjars+iDQAAQIdra/twO0waGxccTCZNEkw6eNpaWzN29Ojcc8cdOf+ss7LvXnvVfPdJqVTKcssumx223TbHH3NMrhs+PH9/4om0vvnmvOed1CKezD8jRyannpoMGdLxEWWllZJ99kkuvzz5+9/9fIsqUDWiSg+17777plwu5+67737Hr331q19NXV1d1l9//fzqV7/KNddck8GDB6dcLuf888+vwdV2fRZtAAAAPpK5A8q0aZVwMnnynGAy9+u43i2YNDS8ezCp9QPdHjBvTZyYvz38cK698sp856ijsu1WW2XQxz5W03hSV1eXIauvnq/svnvOOPXU3HnLLXnpH/+Y97VdXSGezD0vvZRccEGy8cYdG1FWXz35xjeSq69OXnih9vfZ1UZUgaoRVXqoT37ykxkwYEBmz549z9cnTZqU3r17Z/HFF8+4cePe/vo//vGP9O7dOxtssEG1L7VbsGgDAABQ2HsFlPbdJg0NC34dl2DS6dPW2ppXXnghd91yS84+/fR87StfyVprrJFyuVzTgNKvX798Zv31c+D+++fiCy7Ig/fck4mvvppp1T7z5MPMuHHJz36WbL990qtXx0SUtdZKvvnN5Be/SEaPrv09dvURVaBqRJUeaqmlllpgILnjjjtSV1eXPffc8x2/ttlmm2XAgAHVuLxux6INAADAAr1bQJk8ec4OlAUFlKYm0aQK0zp+fB578MH89Mc/zpGHHprPbbZZllxyyZrGk1KplKWXXjpbf/7z+fZRR+WaK6/MU488kslvvvl2PJndHX4uGhqSm2+unGOy6KIdE1I22qiyy+Wll2p/f91tRBWoGlGlB1l99dUzZMiQDBkyJHV1dVlsscXe/t/bZ9lll025XM7HPvaxd/za4osvnnK5PM/XLrvsslrfVpdg0QYAAODtg+PnDijtZ5+0B5TGRgGlBjO7pSWjn302v7nxxgw7+eR8eejQrLbqqjWPJ6VSKSt/4hMZ+oUv5LTvfS+33nhjRo8cmemNjZV40t0OU29pSe69Nzn44GTgwI4JKUOGJKeckjz7bO3vrzuPqAJVI6r0IPfff3/uv//+3HfffenTp09WX331t7/W/vX11lsv5XI5V1xxxTy/dv/992fnnXfOoosuOs/XXn755VrfVk2MHz8+I0eOfHsGDRqUZZddttaXBQAAQLW0B5SZMyuHyL9bQJn77JP2gNLcLKB00sxqbs4rL7yQB+6+Oz+58MIceuCB2WTjjdO/f/+ax5NFF100G33mMzlwv/1y4Q9+kD+MGJE3X3klM/8bT7rsq7uKzN9V2KUAACAASURBVOOPJ8cdVzkcviNCyvLLJ0cfnTz8sM9KR42oAlUjqvRQgwcPTt++fTNhwoS3v9bU1JQBAwZkwIABmT59+jv+mV133TWrrbZaNS+zyxo2bNg7/p8jr0YDAADoweYOKFOnCig1nOY33sgzjz6a39x4Y354zjn5329+Mztut11WX2219OnTp+bxpFQqZeXBg7PbLrvkeyeckJt+/vP846mnMq2hofvHk7nnhReSM89M1l67Y0LKEksk+++fjBhR+dzU+v562ogqUDWiSg916KGHpq6uLltuuWWefPLJPPvssxk6dGjK5XIOOOCAd/z+WbNmZeDAgdl+++1rcLVdj50qAAAAPdiHCSiNjQJKB82s5ua8+s9/5o//93+55oorcsp3v5u999wzn91oowz62MdqHkzmnsUHDMhmm2ySww46KJddeGH+9Pvfp+H117vfa7uKzquvJpdckmy2WceElEUWSYYOTW64ofJZqvX99eQRVaBqRJUeasyYMVluueVSV1eXcrmccrmcurq6DBw4MK+88so7fv9vfvOb1NXV5ZJLLqnB1XZ9Fm0AAIBu6t0CSmtr5SGkgNIp0zJuXJ59/PHc8atf5UfnnpsjDz00O++wQ9YYMiSLLLJIzWPJ/FNXV5chq62WL3/xixn2//5fbrvxxvx75MieG0/mnjffTH7+82SXXZLevT96SKmrS7bcMrn88mTMmNrf38IyogpUjajSg73++us57LDDsvbaa2fIkCH5+te/nn/9618L/L0777xzVlpppYwdO7bKV9k9WLQBAAC6gba29w4oTU2VaDL3QfLtAWVheHjegTO7pSWvjxqVh+65J9deeWVOPfHEfP1rX8smG2+cZQYNqnkkea9ZeqmlsuXnPpejDj88P/3xj/PYgw9m8oQJNf+eVnWampI77kj23jvp379jdqWst15y7rnJiy/W/v4WxhFVoGpEFSjAog0AANDFtLUls2Z9+IBiF8r7zuQJEzLy8cdz569/nYvOOy9H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/uAH+f1vf5uxo0enrZv+nXT7aWlJHnkkOfvszj9cfoklkt12S374w+Svf+22n0NThRFVoGpEFSjAog0AAPRI7btSFnTofDfbldLW2poxL76Ye+64IxecfXb232efrL/uuunbt2/No0jRWWSRRbLuOuvk61/7Ws4944zcdcstefn55zO7G/099Nh5/vnkssuSr3wlGTiw8yJK377JVlslw4Ylf/xj5TNZ63s33WNEFagaUQUKsGgDAAA9xvyHzjc3V3ajdKNdKU1jx+Yv992Xqy69NEcddli23GKLLn3GydxTV1eXlVZcMVt//vM5+IADcvbpp+eW667LC3/7W2Y0Ntb8e2v+O6+8kvzyl8mBByYrr9x5EaVcTjbcsPLqsBEjkokTa3/vpnuOqAJVI6pAARZtAACg25v70Pm5d6V04UPnpzc0ZOTjj+fGa6/N944/Pl/Yeed8YqWVah5Giryua9111smXdtstx33rW/nJhRfmnjvuyKhnnsm0SZNq/n01C5g330x++9vkO99J1luvcw+XX3PNyiH2v/pV5VD7Wt+76RkjqkDViCpQgEUbAADolubflTL3ofMNDV3m9V5tra35zz/+kbtuuSXnDBuWfb761ayz9tpd+qD4FT/+8Wy5xRY5cL/98v1TT82N116bxx58MBNeftlZJ91hmpuThx6qvGZryy2TRRbpvIjy8Y8n++6bXH11Mnp07e/d9MwRVaBqRBUowKINAAB0G21t8+5KmfvQ+S6wK2XSa6/loXvuyWU/+lEOO+igbLbJJll88cVrHknmn8UWWyzrrL12vviFL+Q7Rx2Vy370o/zuN7/JP596KlPr62v/ANV8sGltTZ5+OrnwwsrB70su2XkRZamlki9+MbnoouSZZ7rkLjDTA0dUgaoRVRZCDQ0NGTt2bK0vo1uxaAMAAF3e3IfOT548766UGhw6P7W+Pk/95S/5xU9/muOPOSY7brdd/meFFWoeS+ae/1lhhXxus81ywNe/njNPOSXXDx+eR+6/P+Neesluk54wL72UXHNNst9+ld0inRVR+vZNtt46OeOM5E9/qjzcrvW9m4VvRBWoGlFlIfHggw/mC1/4QgYMGJByuZxevXrN8+vnnntu9t9//0ycOLFGV9i1WbQBAIAuqa0tmTkzmTp1zkO1Kh86P7ulJaOffTa333RTzjzllOz5pS9lzSFDUi6Xax5NSqVSVlpxxeyy44759pFH5tILLsiIW2/NP/7617zlQPCeN+PGJbfemhx5ZLL22p0XUerqkg02SI47zuHypuuMqAJVI6osBM4444yUy+XU1dWld+/eWWSRRVIul+f5PVdffXXK5XKuvvrqGl1l12bRBgAAupS5d6XMfeh8+66UTgop4196KfeNGJGLzjsvB+2/fzb6zGey2GKL1TyclEqlLLXUUvn85pvnyEMPzZWXXJK/3HdfmsaOrf2DTtN509iY/OEPycknJ5ttlvTu3XkhZdVVk4MPTq6/Pnn11drfuzHzj6gCVSOq9HB333136urqssIKK+T222/PjBkz8rnPfe4dUaW+vj51dXUZOnRoja60a7NoAwAANTf/ofOduCuldfz4PP7HP2b45Zfn20cemW232irLDBpU83BSKpWyyCKLZP11183+++yT8886K/93++15fdQor+taWOb55ytnley8czJgQOdFlI99LNlzz+QnP6n8d9b6vo15vxFVoGpElR5uxx13TLlczp/+9Ke3v7agqJIkq6yyStZcc81qXl63YdEGAABqov31Xp106PzMpqa88Le/5eZf/jKnnnhidt9tt6y6yio1Dyfts+oqq2T33XbLqSeemJt/+cu88Le/ZWZTU+0fXprqTUNDcvfdyTHHJGuu2XkRZbHFkh12SM49N3nssaqfQWTMRx5RBapGVOnhll566ay00krzfO3dosomm2ySAQMGVOvSuhWLNgAAUDVtbcmsWXNCSvvrvT7CofNtra15fdSo/N/tt+f8s87KfnvvnfXXXTd9+/ateTgplUpZZtCgbLvVVvn2kUdm+OWX54mHHkrr+PG1f0hpajMvvljZITJ0aOftRimXk89+NjnxxOSeeyqfr1rftzEfZUQVqBpRpYfr169fNthgg3m+9m5RZf3118/iiy9erUvrVizaAABAp5s1a845KZMnV0LKh3i9V9PYsfnLffflyksuyZGHHprPb755ll566ZqHk1KplMUWWywbb7hhDj7ggFx03nm5b8SIjH/ppdo/jDS1naamytkoJ5yQrLNO5+1GWWON5PDDk1//Ohkzpvb3bUxHjqgCVSOq9HCrrLJKllhiibS1tb39tQVFlSlTpqRfv35ZZ511qn2J3YJFGwAA6BTtB84v6JyU93m91/SGhjz7+OO54ZprctJxx2XXnXbKSiuuWPNwUiqVUi6Xs9Yaa2TPL30pZ55ySm6/6aaMfvbZzPZKJdM+L7+c/OxnyR57JEst1TkRZfnlk332SX7602TUqNrfszGdOaIKVI2o0sMdcsghKZfLueqqq97+2oKiytlnn526urqccMIJ1b7EbsGiDQAAdJgFHTg//zkp/40Pba2taRwzJi/87W+565Zbcs6wYdl7zz3zqU9+Mr179655PCmVSvmfFVbITttvnxO+/e388mc/y9OPPJKp9fW1f8Bouta0tCQPPZScfHKy4YadE1EWXzzZddfkgguSv/71I503ZEy3G1EFqkZU6eFGjRqVvn37pl+/frn44ovT1NQ0T1Spr6/Paaedll69emXxxRfPmDFjanzFXZNFGwAA+EjaD5yfOjWZPDmzm5oy4cUX8/eHHso9N9+ca3/yk5xz+uk5+vDDs8fuu2fzTTfNKiuvnH79+tU8mrTP4osvns033TSHH3xwLvvRj/LQPfdk0muv1f5Boum689pryc9/XtktMmhQx0eUXr2SzTZLTjkluf/+Spys9T0bU6sRVaBqRJWFwM0335y+ffumXC6nd+/eb//nFVZYIb169Uq5XE6/fv0yYsSIWl9ql2XRBgAAipgxY0Zee+21PPHEE7nzjjty5U9+ktP/3//LoQcdlN123jkbrr9+/mf55dOrV6+aR5J3m969e2edtdfOPl/9as4944yMuPXWvPLCC2nzb/2b95vW1uTRR5Nhwyqxo1zu+JCy7LLJ/vsn11/vXBRj5h5RBapGVFlIPPvss9l9993Tt2/f1NXVvT19+vTJF77whfz973+v9SV2aRZtAABYuE2ePDn//ve/8/DDD+eWW27JpZdemu9973v5xje+kR133DGf/vSnM2jQoJoHkQ86gz/xiey2yy753vHH58Zrr83Ixx/P9IaG2j8cNN1n3ngjufHG5BvfqJxh0tERpa4u2WST5LTTkr/85e1X4xlj5htRBapGVFnITJs2Lc8++2z+9Kc/5amnnkpra2utL6lbsGgDAEDP1NbWlvHjx+fRRx/NjTfemAsuuCDHHnts9t5772y11VZZY401svjii9c8fnzUWXrppbPlFlvkqMMOy1WXXppH7r8/zW+8UfuHgKb7TWtr5bySc85Jttwy6d2740PKwIHJXnsl116bvPJK7e/ZmO4wogpUjagCBVi0AQCg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iNzI+YbMe6tRjh5VNUqwmpgI338PzzwDV1/t2yClXDl44gn4+mu9dqSUUspAUqGKELahUCXIKVGixFkVFucKVTweD5GRkVSoUMHO5eUadGiHFunp6ezfv58NGzbwxRdfMHnyZIYNG0bv3r1p3749DRo0oGzZsoSHhzsehlyM0dHR1K9fn86dO/Pcc88xefJkli9fzu7duzUQXgghgoGctvVSNUpwum8ffPwx9OxpBR++DFKuvtoKaH74Qa8dKaWUMlBVqCKEbShUCXLat2+PaZp89dVXmbedK1SZPXs2hmHQrVs3u5eYK9ChHRykpKTw559/8sMPPzBv3jzeffddXnjhBbp3784tt9xC7dq1KVGiBKZpOh6AXEq1ScuWLXnkkUcYPXo08+bNY/PmzRw/ftzph18IIYQ/OFdbr+PHrVZMausV3MbFwVdfWWFH/fq+nY/ickHdujBsmNU6zOm9SimllPLfVagihG0oVAlyvv76awzDoFy5cqxbtw44O1RZunQpUVFRuN1ufvrpJ6eWGtDo0A5sEhIS+O233/juu++YNWsWb775JgMHDuT+++/npptu4pprriEyMtLx0MMX5s+fnxo1atC+fXsGDBjAhAkTWLp0KTt37iQ1NdXpp0IIIYQdZG3rdeLE6bZe3vkoR49aF9zVmim4TEyEDRtgzBi49VYoWNC3IYppQtOm1t//66/O71dKKaWUF6dCFSFsQ6FKCPD0009jGAZut5uaNWtSrFgxTNOkU6dOXH311ZimiWEYDBs2zOmlBiw6tJ0hPT2dv/76i+XLlzN9+nReffVVnnjiCTp16kTTpk256qqrct3A95xYvHhxrr/+eu6//36GDBnCjBkzWL16NQcOHNBsEyGECFUyMv69rVd8vKpRgs0//4Rp0+CBB6BMGd+GKC4XhIfDzTfD+PHWz3J6v1JKKaX87ypUEcI2FKqECJMnT6ZkyZIYhnGWl19+OVOmTHF6iQGNDm3/cfLkSbZt28bChQt588036dOnDzfffDOVKlUiT548jgcc/tDtdlOhQoVztulKSEhw+ikRQggRCGSdj3K+tl6ajxJ8xsbC55/DU09BrVq+D1FcLrjsMujQwQpr9u93fs9SSiml9I0KVYSwDYUqIURaWhorV65k/PjxjBw5krFjx/L111+TkpLi9NICHh3a/x2Px0NsbCzr1q3j448/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XukOlT/2WLjzTvjwQ9i8OerdSJJUiKGK4sJQJYaysrLo1q1boWtXXXUVYRjywAMPFLr+m9/8htzc3DKvYcKECey7775069aNJk2aEAQBNWrUYMiQIYXCk+nTp6cCk/z8/C1+1/z581PvWbhwYep6mzZtityF8r969uxJEARce+21qWvXXHNNiXeh3H///Vt85FhxDFUkSZIkVSpLl8I//gF/+hN07gxhmH6IsssucPrpMGECzJ/vofKSpNgzVFFcGKrEUP369dl+++0LXdt///0Jw5B58+YVut61a1dq165d7jW988477LHHHgRBwCGHHJK6XpXuVCmOTVuSJElSpAoK4LPP4P774dRToW3b9AOUzEzo1g0uuACefhqWLYt6N5IklZrzOcWFoUoM9erVizAMeeaZZwCYNWsWGRkZtGrVqsh7GzZsSNu2bSukroULF5KVlUUQBEyfPh3wTBVJkiRJKhfr1sGbb8KNNybPQ2nUKP0QpWZNOOggGDECXn0Vfvgh6t1IkvSrOZ9TXBiqxNDDDz9MIpEgOzubLl26ULt2bcIwZOTIkYXe95///IdEIkH//v0rrLYuXboQBAG33347AJs2bSI7O5sgCIqct/KzBx98cIuP4ho0aBBBEHDaaadt8XMbN24kJyenyHdPmzaNIAjIyclh06ZNW/zs4MGDi/3u0rJpS5IkSSpXixcnH+V13nnQvTtkZaUfojRuDL//Pdx2G7z3Hmzl70mSJFVmzucUF4YqMXXRRReRmZlJIpEgkUhw/PHHF7rLA+CCCy4gkUhw9913V1hdHTt2JAgCRo8enbq29957EwQB119//RY/c8YZZxAEASeeeGKh62PHjiUIAtq3b7/Fz73zzjup8GTt2rWp62vWrEkFOTNmzNjiZ9u1a0cQBNx7772l3eIW2bQlSZIklZlNm+CDD+Cuu+DEE6FVq/QDlCBIPvpr0KDko8A+/9zzUCRJ1YLzOcWFoUqMfffdd/zrX/9i8eLFW3z91VdfZdKkSaxYsaJC6pk7dy5hGBIEAa+++mrq+s0335wKR/73zpFVq1ZRr149giDg6aefLvTakiVLyMzMLPQ4sV/6+U6WI488sshr/fr1IwgCBg8eXOS1n+9kyc7O5ttvv93W7RZi05YkSZK0zVauhOefh8svh969k4/nSjdAycqCvfeG889P3smydGnUu5Ek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KQEAajn6c/ALQhXABYo2AAAAAPyssLBQSUlJTqjypz/9yespAQBqOfpz8AtCFcAFijYAAAAARBoyZIgTqvTq1cvr6QAAajn6c/ALQhXABYo2AAAAAES6//77nVClbt26OnjwoNdTAgDUYvTn4BeEKoALFG0AAAAAiLR69eqIdVVWrlzp9ZQAALUY/Tn4BaEK4AJFGwAAAAAi/fTTTwqFQk6oMmXKFK+nBACoxejPwS8IVQAXKNoAAAAAUFJmZqYTqgwePNjr6QAAajH6c/ALQhXABYo2AAAAAJQ0btw4J1Rp0qSJCgsLvZ4SAKCWoj8HvyBUAVygaAMAAABASS+//HLEuirp6enKyMhgMBgMhofj0KFDXv/zUCXoz8EvCFUAFyjaAAAAAFDSd999FxGqMBgMBsP7kZeX5/U/D1WC/hz8glAFcIGiDQAAAADR9e3b1/MGIoPBYDB+HoQqQNUiVAFcoGgDAAAAQHQ7d+7UPffco1GjRjEYDAbDByM/P9/rfxqqBP05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuACRRsAAAAAAADwDv05+AWhCuAC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AAAAAEABUQUAAAAAAKCAqAIAAAAAAFBAVAEAAAAAACggqgAAAAAAABQQVQAAAAAAAAqIKgAAAAAAAAVEFQAAAAAAgAKiCgAAAAAAQAFRBQAAAAAAoICoAgAAAAAAUEBUAQAAAAAAKCCqAAAAAAAAFBBVAAAAAAAACogqAAAAAAAABUQVAAAAAACAAqIKAAAAAABAAVEFAAAAAACggKgCAAAAAABQQFQBAAAAAAAoIKoAAAAAAAAUEFUAAAAAAAAKiCoAAAAAAAAFRBUAAAAAAIACogoAAAAAAEABUQUAAAAAAKCAqAIAAAAAAFBAVAEAAAAAACggqgAAAAAAABQQVQAAAAAAAAqIKgAAAAAAAAVEFQAAAAAAgAKiCgAAAAAAQAFRBQAAAAAAoICoAgAAAAAAUEBUAQAAAAAAKCCqAAAAAAAAFBBVAAAAAAAACogqAAAAAAAABUQVAAAAAACAAqIKAAAAAABAAVEFAAAAAACggKgCAAAAAABQQFQBAAAAAAAoIKoAAAAAAAAUEFUAAAAAAAAKiCoAAAAAAAAFRBUAAAAAAIACogoAAAAAAEABUQUAAAAAAKDAb3H0EoZFPk+FAAAAAElFTkSuQmCC\" 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
|
|
}
|