{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Demand and Supply \n", "## Prof. Rabanal" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* In a market, we have two type of participants. Buyers and Sellers. \n", "* The buyers have reservation values. That is, how much they value a widget. We will assume that this is private information for buyers.\n", "* The sellers produce the widget a particular (unit) cost. Once again, this is private information. \n", "* The traders meet in a particular market format (in class it was a double auction)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "expw1.py:8: DeprecationWarning: This function is deprecated. Please call randint(1, 10 + 1) instead\n", " buyers = np.random.random_integers(min_value,max_value,players)\n", "expw1.py:9: DeprecationWarning: This function is deprecated. Please call randint(1, 10 + 1) instead\n", " sellers = np.random.random_integers(min_value,max_value,players)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "-- - -\n", " 1 1 0\n", " 2 1 1\n", " 3 0 0\n", " 4 2 3\n", " 5 0 1\n", " 6 0 1\n", " 7 3 1\n", " 8 0 1\n", " 9 0 0\n", "10 1 0\n", "-- - -\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEKCAYAAAACS67iAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAFkJJREFUeJzt3XuQlfWd5/H31+bm/QISFKKAF7w1AjYaR6MgRM2SkSVr\nlmjFmpFYxuxq4riVKbMpE0ytU6mUTmnMbNaOiZqKUUd0JBLXITUDO3EiYKMoERQMEoMBucwo6oCi\nfPePPlIoDU33Od2n++f7VdXlOaefy+d00R9//TzP+T2RmUiSer996h1AklQbFrokFcJCl6RCWOiS\nVAgLXZIKYaFLUiHaLfSI+GlErI+I3+302mER8euIWFn576FdG1OS1J69GaHfDVz4kdeuB/4pM48D\n/qnyXJJUR7E3HyyKiOHAnMw8pfL8RWBCZq6NiCOA+Zk5qiuDSpL2rE8n1/tEZq6tPF4HfGJ3C0bE\nlcCVAPvvv/9pJ5xwQid32T1WbXgbgJGH71/nJJIEbFzJ4j9s3piZh7e3aGcLfYfMzIjY7TA/M5uB\nZoCmpqZsaWmpdpddavodTwLwwFfOrHMSSQLumkLMeOwPe7NoZ69yea1yqIXKf9d3cjuSpBrpbKH/\nEviLyuO/AGbXJo4kqbP25rLF+4AngVERsSYivgx8D/hMRKwEJleeS5LqqN1j6Jl5yW6+NanGWSQV\nYtu2baxZs4atW7fWO0qvMmDAAIYNG0bfvn07tX7VJ0Ul6aPWrFnDgQceyPDhw4mIesfpFTKTTZs2\nsWbNGkaMGNGpbfjRf0k1t3XrVgYOHGiZd0BEMHDgwKr+qrHQJXUJy7zjqv2ZWeiSVAgLXVKRGhoa\nGDNmDCeffDKnnnoqt9xyC9u3b693LABmzpzJzTffXPPtelJUUpH23XdflixZAsD69eu59NJL2bx5\nMzfeeGOdk3UdR+iSijd48GCam5v54Q9/SGby/vvv841vfIPx48czevRo7rjjDgDmz5/Pueeey9Sp\nUxk5ciTXX3899957L6effjqNjY38/ve/B+DRRx/ljDPOYOzYsUyePJnXXnsNaB15z5gxgwkTJjBy\n5Eh+8IMf7Mhw0003cfzxx3P22Wfz4osvdsn7dIQuqUvd+OjzLPvT5ppu86QjD+I7f35yh9YZOXIk\n77//PuvXr2f27NkcfPDBPPXUU7zzzjucddZZnH/++QA8++yzLF++nMMOO4yRI0dyxRVXsGjRIm67\n7TZuv/12br31Vs4++2wWLFhARHDnnXfy/e9/n1tuuQWAF154gXnz5vHmm28yatQovvrVr/Lcc89x\n//33s2TJEt577z3GjRvHaaedVtOfCVjokj6G5s6dy3PPPcesWbMAeOONN1i5ciX9+vVj/PjxHHHE\nEQAcc8wxO4q+sbGRefPmAa3X2U+fPp21a9fy7rvvfui68SlTptC/f3/69+/P4MGDee211/jNb37D\ntGnT2G+//QC46KKLuuR9WeiSulRHR9JdZdWqVTQ0NDB48GAyk9tvv50LLrjgQ8vMnz+f/v3773i+\nzz777Hi+zz778N577wFwzTXXcN1113HRRRcxf/58Zs6cuWOdnddvaGjYsU538Bi6pOJt2LCBq666\niquvvpqI4IILLuBHP/oR27ZtA2DFihW8/fbbe729N954g6FDhwJwzz33tLv8OeecwyOPPMKWLVt4\n8803efTRRzv3RtrhCF1SkbZs2cKYMWPYtm0bffr04bLLLuO6664D4IorrmD16tWMGzeOzOTwww/n\nkUce2ettz5w5ky984QsceuihnHfeebz88st7XH7cuHFMnz6dU089lcGDBzN+/Piq3tvu7NUt6GrF\nG1xIHw/Lly/nxBNPrHeMXmmXn13rDS4WZ2ZTe+t6yEWSCmGhS1IhLHRJKoSFLkmFsNAlqRAWuiQV\nwkKXVKybbrqJk08+mdGjRzNmzBgWLlxY0+0PHz6cjRs31nSb1fCDRZKK9OSTTzJnzhyefvpp+vfv\nz8aNG3n33XfrHatLOUKXVKS1a9cyaNCgHXOrDBo0iCOPPPJDo+qWlhYmTJgAtH7687LLLuPMM8/k\nuOOO48c//jHQOr/LOeecw5QpUxg1ahRXXXXVLjfK+Pa3v82tt9664/m3vvUtbrvttm54lx/mCF1S\n1/q/18O6pbXd5pBG+Oz39rjI+eefz3e/+12OP/54Jk+ezPTp0zn33HP3uM5zzz3HggULePvttxk7\ndixTpkwBYNGiRSxbtoyjjz6aCy+8kIcffpiLL754x3ozZszg85//PNdeey3bt2/n/vvvZ9GiRdW/\nzw5yhC6pSAcccACLFy+mubmZww8/nOnTp3P33XfvcZ2pU6ey7777MmjQICZOnLijlE8//XRGjhxJ\nQ0MDl1xyCU888cSH1hs+fDgDBw7kmWeeYe7cuYwdO5aBAwd21VvbLUfokrpWOyPprtTQ0MCECROY\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "%run expw1.py" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "* The demand is downward sloping. The person that highly value the good is also willing to buy at a lower price. Thus, when prices go down, then the number of buyers increases. Aka *law of demand*. \n", "\n", "* The supply is upward sloping. The idea is very similar to the demand curve. As prices go up, the low cost sellers are more than happy to sell their units to the market. The different level of costs are driven by technology. We assume that some sellers are more efficient at producing the widget, therefore they have a lower (unit) cost. \n", "\n", "* Assume that prices are high, let's say around 10. In this situation, the quantity of demand falls short compared to the supply. There are sellers than are not doing well because they are not selling their widget. Of course, they can do better by cutting prices. \n", "\n", "* Assume that prices are extremley low. let's say around 1. Now, we see that the quantity of demand surpasses the quantity of supply. There are unhappy buyers that cannot get the widget. They can get if they decide to bid at a high price. \n", "\n", "* Traders will not have any incentive to move when the demand and supply intersects. Given that we are working with discrete numbers, you will see that there is a range of prices (or quantity) in which both demand and supply intersects. The traders that are at the left of the intersectation are the *intra-marginal traders*. The traders at the intersectation are the *marginal traders*. The traders at the right of the intersaction are the *extra-marginal* traders. The marginal traders are the ones that actually are key to describe the equilibrium. Sadly, the extra marginal traders are the ones that do not participate in the market. They have too high (low) cost (values). On the other hand, there are traders that are doing pretty well. The ones that have extremely high (low) values (cost). Specifically, we can compute the benefit or profit ($\\pi$) for each trader as follows: \n", "\n", " * $\\pi^{\\mbox{seller}} =$ price - cost \n", " * $\\pi^{\\mbox{buyer}} =$ value - price\n", "\n", "* We will denote as $p^*$, the market clearing price. At that price, the excess of demand (or supply) is equal to zero, and the overall profit is maximize. There is no way that the aggregate profit (for all traders) is higher than this. Why? Assume a lower price or lower quantity. Points on the left are unfeasible because it is more expensive to produce the goods for what the buyers are willing to pay. \n", "\n", "* Exercise: \n", " 1. What is the *total* profit for buyers? \n", " 1. What is the *total* profit for sellers? \n", " \n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## A brief note about efficiency and distribution\n", "\n", "* Look at the three graphs below. Assume that now the widget market is a housing market. Illustrate where (i) the median household and (ii) Apple employees will be located in our demand-supply graph. \n", "\n", "* Why some markets have a dilemma between efficiency and distribution? \n", "\n", "![IMAGE ALT TEXT HERE](wsjart.jpg)\n", "\n", "![IMAGE ALT TEXT HERE](mein.png)\n", "\n", "![IMAGE ALT TEXT HERE](networth.png)\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.core.display import HTML\n", "def css_styling():\n", " styles = open(\"/Users/jrabanal/PycharmProjects/econ101/custom.css\", \"r\").read()\n", " return HTML(styles)\n", "css_styling()" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "collapsed": true }, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 2", "language": "python", "name": "python2" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 2 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython2", "version": "2.7.10" } }, "nbformat": 4, "nbformat_minor": 1 }