{"cells": [{"metadata": {"trusted": true}, "cell_type": "code", "source": "from fmz import *\ntask = VCtx('''backtest\nstart: 2019-09-19 00:00:00\nend: 2019-09-28 12:00:00\nperiod: 15m\nexchanges: [{\"eid\":\"Futures_OKCoin\",\"currency\":\"BTC_USD\", \"stocks\":1}, {\"eid\":\"OKEX\",\"currency\":\"BTC_USDT\",\"balance\":10000,\"stocks\":0}]\n''')\n# \u521b\u5efa\u56de\u6d4b\u73af\u5883\nimport matplotlib.pyplot as plt\nimport numpy as np\n# \u5bfc\u5165\u753b\u56fe\u7684\u5e93 matplotlib \u548c numpy \u5e93", "execution_count": 1, "outputs": []}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "exchanges[0].SetContractType(\"quarter\")    # \u7b2c\u4e00\u4e2a\u4ea4\u6613\u6240\u5bf9\u8c61OKEX\u671f\u8d27\uff08eid:Futures_OKCoin\uff09\u8c03\u7528\u8bbe\u7f6e\u5f53\u524d\u5408\u7ea6\u7684\u51fd\u6570\uff0c\u8bbe\u7f6e\u4e3a\u5b63\u5ea6\u5408\u7ea6\ninitQuarterAcc = exchanges[0].GetAccount() # OKEX\u671f\u8d27\u4ea4\u6613\u6240\u521d\u59cb\u65f6\u7684\u8d26\u6237\u4fe1\u606f\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfinitQuarterAcc\ninitQuarterAcc", "execution_count": 2, "outputs": [{"output_type": "execute_result", "execution_count": 2, "data": {"text/plain": "{'Balance': 0.0, 'FrozenBalance': 0.0, 'Stocks': 1.0, 'FrozenStocks': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "initSpotAcc = exchanges[1].GetAccount()    # OKEX\u73b0\u8d27\u4ea4\u6613\u6240\u521d\u59cb\u65f6\u7684\u8d26\u6237\u4fe1\u606f\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfinitSpotAcc\ninitSpotAcc", "execution_count": 3, "outputs": [{"output_type": "execute_result", "execution_count": 3, "data": {"text/plain": "{'Balance': 10000.0, 'FrozenBalance': 0.0, 'Stocks': 0.0, 'FrozenStocks': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "quarterTicker1 = exchanges[0].GetTicker()  # \u83b7\u53d6\u671f\u8d27\u4ea4\u6613\u6240\u884c\u60c5\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfquarterTicker1\nquarterTicker1", "execution_count": 4, "outputs": [{"output_type": "execute_result", "execution_count": 4, "data": {"text/plain": "{'Time': 1568851210000,\n 'High': 10441.25002,\n 'Low': 10441.25,\n 'Sell': 10441.25002,\n 'Buy': 10441.25,\n 'Last': 10441.25001,\n 'Volume': 1772.0,\n 'OpenInterest': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "spotTicker1 = exchanges[1].GetTicker()     # \u83b7\u53d6\u73b0\u8d27\u4ea4\u6613\u6240\u884c\u60c5\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfspotTicker1\nspotTicker1", "execution_count": 5, "outputs": [{"output_type": "execute_result", "execution_count": 5, "data": {"text/plain": "{'Time': 1568851210000,\n 'High': 10156.60000002,\n 'Low': 10156.6,\n 'Sell': 10156.60000002,\n 'Buy': 10156.6,\n 'Last': 10156.60000001,\n 'Volume': 7.4443,\n 'OpenInterest': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "quarterTicker1.Buy - spotTicker1.Sell      # \u671f\u8d27\u505a\u7a7a\uff0c\u73b0\u8d27\u505a\u591a\u7684\u5dee\u4ef7", "execution_count": 6, "outputs": [{"output_type": "execute_result", "execution_count": 6, "data": {"text/plain": "284.64999997999985"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "exchanges[0].SetDirection(\"sell\")                       # \u8bbe\u7f6e\u671f\u8d27\u4ea4\u6613\u6240\uff0c\u4ea4\u6613\u65b9\u5411\u4e3a\u505a\u7a7a\nquarterId1 = exchanges[0].Sell(quarterTicker1.Buy, 10)  # \u671f\u8d27\u505a\u7a7a\u4e0b\u5355\uff0c\u4e0b\u5355\u91cf\u4e3a10\u5f20\u5408\u7ea6\uff0c\u8fd4\u56de\u7684\u8ba2\u5355ID\u8bb0\u5f55\u5728\u53d8\u91cfquarterId1\nexchanges[0].GetOrder(quarterId1)                       # \u67e5\u8be2\u671f\u8d27\u8ba2\u5355ID\u4e3aquarterId1\u7684\u8ba2\u5355\u8be6\u60c5", "execution_count": 7, "outputs": [{"output_type": "execute_result", "execution_count": 7, "data": {"text/plain": "{'Id': 1,\n 'Price': 10441.25,\n 'Amount': 10.0,\n 'DealAmount': 10.0,\n 'AvgPrice': 10441.25,\n 'Type': 1,\n 'Offset': 0,\n 'Status': 1,\n 'ContractType': b'quarter'}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "spotAmount = 10 * 100 / quarterTicker1.Buy                 # \u8ba1\u7b9710\u5f20\u5408\u7ea6\u7b49\u503c\u7684\u5e01\u6570\uff0c\u4f5c\u4e3a\u73b0\u8d27\u7684\u4e0b\u5355\u91cf\nspotId1 = exchanges[1].Buy(spotTicker1.Sell, spotAmount)   # \u73b0\u8d27\u4ea4\u6613\u6240\u4e0b\u5355\nexchanges[1].GetOrder(spotId1)                             # \u67e5\u8be2\u73b0\u8d27\u8ba2\u5355ID\u4e3aspotId1\u7684\u8ba2\u5355\u8be6\u60c5", "execution_count": 8, "outputs": [{"output_type": "execute_result", "execution_count": 8, "data": {"text/plain": "{'Id': 1,\n 'Price': 10156.60000002,\n 'Amount': 0.0957,\n 'DealAmount': 0.0957,\n 'AvgPrice': 10156.60000002,\n 'Type': 0,\n 'Offset': 0,\n 'Status': 1,\n 'ContractType': b'BTC_USDT_OKEX'}"}, "metadata": {}}]}, {"metadata": {}, "cell_type": "markdown", "source": "\u53ef\u4ee5\u770b\u5230\u8ba2\u5355quarterId1\u3001spotId1\u8ba2\u5355\u90fd\u5b8c\u5168\u6210\u4ea4\uff0c\u5373\u5bf9\u51b2\u5f00\u4ed3\u5b8c\u6210\u3002"}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "Sleep(1000 * 60 * 60 * 24 * 7)       # \u6301\u4ed3\u4e00\u6bb5\u65f6\u95f4\uff0c\u7b49\u5f85\u5dee\u4ef7\u53d8\u5c0f\u5e73\u4ed3\u3002", "execution_count": 9, "outputs": []}, {"metadata": {}, "cell_type": "markdown", "source": "\u7b49\u5f85\u65f6\u95f4\u8fc7\u540e\uff0c\u51c6\u5907\u5e73\u4ed3\u3002\u83b7\u53d6\u5f53\u524d\u7684\u884c\u60c5```quarterTicker2```\u3001```spotTicker2```\u5e76\u4e14\u6253\u5370\u3002\n\u671f\u8d27\u4ea4\u6613\u6240\u5bf9\u8c61\u7684\u4ea4\u6613\u65b9\u5411\u8bbe\u7f6e\u4e3a\u5e73\u7a7a\u4ed3\uff1a```exchanges[0].SetDirection(\"closesell\")```\u4e0b\u5355\u5e73\u4ed3\u3002\n\u6253\u5370\u5e73\u4ed3\u8ba2\u5355\u7684\u8be6\u60c5\uff0c\u663e\u793a\u5e73\u4ed3\u8ba2\u5355\u5b8c\u5168\u6210\u4ea4\uff0c\u5e73\u4ed3\u5b8c\u6210\u3002"}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "quarterTicker2 = exchanges[0].GetTicker()     # \u83b7\u53d6\u5f53\u524d\u671f\u8d27\u4ea4\u6613\u6240\u7684\u884c\u60c5\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfquarterTicker2\nquarterTicker2", "execution_count": 10, "outputs": [{"output_type": "execute_result", "execution_count": 10, "data": {"text/plain": "{'Time': 1569456010000,\n 'High': 8497.20002,\n 'Low': 8497.2,\n 'Sell': 8497.20002,\n 'Buy': 8497.2,\n 'Last': 8497.20001,\n 'Volume': 4311.0,\n 'OpenInterest': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "spotTicker2 = exchanges[1].GetTicker()       # \u83b7\u53d6\u5f53\u524d\u73b0\u8d27\u4ea4\u6613\u6240\u7684\u884c\u60c5\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfspotTicker2\nspotTicker2", "execution_count": 11, "outputs": [{"output_type": "execute_result", "execution_count": 11, "data": {"text/plain": "{'Time': 1569456114600,\n 'High': 8444.70000001,\n 'Low': 8444.69999999,\n 'Sell': 8444.70000001,\n 'Buy': 8444.69999999,\n 'Last': 8444.7,\n 'Volume': 78.6273,\n 'OpenInterest': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "quarterTicker2.Sell - spotTicker2.Buy        # \u671f\u8d27\u7a7a\u5934\u4ed3\u4f4d\u5e73\u4ed3\uff0c\u73b0\u8d27\u591a\u5934\u4ed3\u4f4d\u5e73\u4ed3\u7684\u5dee\u4ef7", "execution_count": 12, "outputs": [{"output_type": "execute_result", "execution_count": 12, "data": {"text/plain": "52.5000200100003"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "exchanges[0].SetDirection(\"closesell\")                   # \u8bbe\u7f6e\u671f\u8d27\u4ea4\u6613\u6240\u5f53\u524d\u4ea4\u6613\u65b9\u5411\u4e3a\u5e73\u7a7a\u4ed3\nquarterId2 = exchanges[0].Buy(quarterTicker2.Sell, 10)   # \u671f\u8d27\u4ea4\u6613\u6240\u4e0b\u5355\u5e73\u4ed3\uff0c\u5e76\u4e14\u8bb0\u5f55\u4e0b\u5355ID\uff0c\u8bb0\u5f55\u5230\u53d8\u91cfquarterId2\nexchanges[0].GetOrder(quarterId2)                        # \u67e5\u8be2\u671f\u8d27\u5e73\u4ed3\u8ba2\u5355\u8be6\u60c5", "execution_count": 13, "outputs": [{"output_type": "execute_result", "execution_count": 13, "data": {"text/plain": "{'Id': 2,\n 'Price': 8497.20002,\n 'Amount': 10.0,\n 'DealAmount': 10.0,\n 'AvgPrice': 8493.95335,\n 'Type': 0,\n 'Offset': 1,\n 'Status': 1,\n 'ContractType': b'quarter'}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "spotId2 = exchanges[1].Sell(spotTicker2.Buy, spotAmount) # \u73b0\u8d27\u4ea4\u6613\u6240\u4e0b\u5355\u5e73\u4ed3\uff0c\u5e76\u4e14\u8bb0\u5f55\u4e0b\u5355ID\uff0c\u8bb0\u5f55\u5230\u53d8\u91cfspotId2\nexchanges[1].GetOrder(spotId2)      # \u67e5\u8be2\u73b0\u8d27\u5e73\u4ed3\u8ba2\u5355\u8be6\u60c5", "execution_count": 14, "outputs": [{"output_type": "execute_result", "execution_count": 14, "data": {"text/plain": "{'Id': 2,\n 'Price': 8444.69999999,\n 'Amount': 0.0957,\n 'DealAmount': 0.0957,\n 'AvgPrice': 8444.69999999,\n 'Type': 1,\n 'Offset': 0,\n 'Status': 1,\n 'ContractType': b'BTC_USDT_OKEX'}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "nowQuarterAcc = exchanges[0].GetAccount()   # \u83b7\u53d6\u5f53\u524d\u671f\u8d27\u4ea4\u6613\u6240\u8d26\u6237\u4fe1\u606f\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfnowQuarterAcc\nnowQuarterAcc", "execution_count": 15, "outputs": [{"output_type": "execute_result", "execution_count": 15, "data": {"text/plain": "{'Balance': 0.0,\n 'FrozenBalance': 0.0,\n 'Stocks': 1.021786026184,\n 'FrozenStocks': 0.0}"}, "metadata": {}}]}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "nowSpotAcc = exchanges[1].GetAccount()      # \u83b7\u53d6\u5f53\u524d\u73b0\u8d27\u4ea4\u6613\u6240\u8d26\u6237\u4fe1\u606f\uff0c\u8bb0\u5f55\u5728\u53d8\u91cfnowSpotAcc\nnowSpotAcc", "execution_count": 16, "outputs": [{"output_type": "execute_result", "execution_count": 16, "data": {"text/plain": "{'Balance': 9834.74705446,\n 'FrozenBalance': 0.0,\n 'Stocks': 0.0,\n 'FrozenStocks': 0.0}"}, "metadata": {}}]}, {"metadata": {}, "cell_type": "markdown", "source": "\u901a\u8fc7\u5bf9\u6bd4\u6700\u521d\u8d26\u6237\u548c\u5f53\u524d\u8d26\u6237\uff0c\u8ba1\u7b97\u51fa\u6b64\u6b21\u5bf9\u51b2\u64cd\u4f5c\u7684\u6536\u76ca\u76c8\u4e8f\u3002"}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "diffStocks = abs(nowQuarterAcc.Stocks - initQuarterAcc.Stocks)\ndiffBalance = nowSpotAcc.Balance - initSpotAcc.Balance\nif nowQuarterAcc.Stocks - initQuarterAcc.Stocks > 0 :\n    print(\"\u6536\u76ca\uff1a\", diffStocks * spotTicker2.Buy + diffBalance)\nelse :\n    print(\"\u6536\u76ca\uff1a\", diffBalance - diffStocks * spotTicker2.Buy)", "execution_count": 17, "outputs": [{"output_type": "stream", "text": "\u6536\u76ca\uff1a 18.72350977580652\n", "name": "stdout"}]}, {"metadata": {}, "cell_type": "markdown", "source": "\u4e0b\u9762\u6211\u4eec\u770b\u4e0b\u4e3a\u4ec0\u4e48\u6b64\u6b21\u5bf9\u51b2\u662f\u76c8\u5229\u7684\u3002\u6211\u4eec\u53ef\u4ee5\u770b\u5230\u753b\u51fa\u7684\u56fe\u8868\uff0c\u671f\u8d27\u4ef7\u683c\u662f\u84dd\u8272\u7684\u7ebf\uff0c\u73b0\u8d27\u4ef7\u683c\u662f\u6a59\u8272\u7684\u7ebf\uff0c\u4e24\u4e2a\u4ef7\u683c\u90fd\u662f\u4e0b\u964d\u7684\uff0c\u671f\u8d27\u4ef7\u683c\u4e0b\u964d\u7684\u6bd4\u73b0\u8d27\u4ef7\u683c\u5feb\u3002"}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "xQuarter = [1, 2]\nyQuarter = [quarterTicker1.Buy, quarterTicker2.Sell]\n\nxSpot = [1, 2]\nySpot = [spotTicker1.Sell, spotTicker2.Buy]\nplt.plot(xQuarter, yQuarter, linewidth=5)\nplt.plot(xSpot, ySpot, linewidth=5)\nplt.show()", "execution_count": 18, "outputs": [{"output_type": "display_data", "data": {"text/plain": "<Figure size 432x288 with 1 Axes>", "image/png": "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\n"}, "metadata": {"needs_background": "light"}}]}, {"metadata": {}, "cell_type": "markdown", "source": "\u6211\u4eec\u518d\u770b\u4e0b\u5dee\u4ef7\u7684\u53d8\u5316\u60c5\u51b5\uff0c\u5dee\u4ef7\u662f\u4ece\u5bf9\u51b2\u5f00\u4ed3\u65f6\u7684284\uff08\u5373\u671f\u8d27\u505a\u7a7a\uff0c\u73b0\u8d27\u6700\u591a\uff09\uff0c\u5230\u5e73\u4ed3\u65f6\u768452\uff08\u671f\u8d27\u7a7a\u5934\u6301\u4ed3\u5e73\u4ed3\uff0c\u73b0\u8d27\u591a\u4ed3\u5e73\u4ed3\uff09\u3002\u5dee\u4ef7\u662f\u4ece\u5927\u5230\u5c0f\u3002"}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "xDiff = [1, 2]\nyDiff = [quarterTicker1.Buy - spotTicker1.Sell, quarterTicker2.Sell - spotTicker2.Buy]\nplt.plot(xDiff, yDiff, linewidth=5)\nplt.show()", "execution_count": 19, "outputs": [{"output_type": "display_data", "data": {"text/plain": "<Figure size 432x288 with 1 Axes>", "image/png": "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\n"}, "metadata": {"needs_background": "light"}}]}, {"metadata": {}, "cell_type": "markdown", "source": "### \u6211\u4eec\u4e3e\u4e2a\u4f8b\u5b50\uff0ca1\u4e3a\u65f6\u523b1\u7684\u671f\u8d27\u4ef7\u683c\uff0cb1\u4e3a\u65f6\u523b1\u7684\u73b0\u8d27\u4ef7\u683c\u3002a2\u4e3a\u65f6\u523b2\u7684\u671f\u8d27\u4ef7\u683c\uff0cb2\u4e3a\u65f6\u523b2\u7684\u73b0\u8d27\u4ef7\u683c\u3002\n\n\u53ea\u8981a1-b1\u5373\u65f6\u523b1\u7684\u671f\u8d27\u73b0\u8d27\u5dee\u4ef7\u5927\u4e8ea2-b2\u5373\u65f6\u523b2\u65f6\u7684\u671f\u8d27\u73b0\u8d27\u5dee\u4ef7\uff0c\u5c31\u53ef\u4ee5\u63a8\u51faa1 - a2 > b1 - b2\u3002\n\u6709\u4e09\u79cd\u60c5\u51b5\uff1a\uff08\u671f\u8d27\u73b0\u8d27\u6301\u4ed3\u5934\u5bf8\u89c4\u6a21\u76f8\u540c\uff09\n\n- 1\u3001a1 - a2\u5927\u4e8e0\uff0cb1 - b2\u5927\u4e8e0\n  a1 - a2\u4e3a\u671f\u8d27\u76c8\u5229\u7684\u5dee\u4ef7\uff0cb1 - b2\u4e3a\u73b0\u8d27\u4e8f\u635f\u7684\u5dee\u4ef7\uff08\u56e0\u4e3a\u73b0\u8d27\u505a\u591a\uff0c\u5f00\u59cb\u4e70\u5165\u7684\u4ef7\u683c\u6bd4\u5356\u51fa\u5e73\u4ed3\u7684\u4ef7\u683c\u9ad8\uff0c\u6240\u4ee5\u4e8f\u94b1\uff09\uff0c\u4f46\u662f\u671f\u8d27\u76c8\u5229\u7684\u5927\u4e8e\u73b0\u8d27\u4e8f\u635f\u7684\u3002\u6240\u4ee5\u6574\u4f53\u662f\u76c8\u5229\u3002\u8fd9\u79cd\u60c5\u51b5\u5bf9\u5e94\u7684\u5c31\u662f\u6b65\u9aa4In[8]\u4e2d\u7684\u56fe\u8868\u60c5\u51b5\u3002\n  \n  \n- 2\u3001a1 - a2\u5927\u4e8e0\uff0cb1 - b2\u5c0f\u4e8e0\n  a1 - a2\u4e3a\u671f\u8d27\u76c8\u5229\u7684\u5dee\u4ef7\uff0cb1 - b2\u4e3a\u73b0\u8d27\u76c8\u5229\u7684\u5dee\u4ef7\uff08b1 - b2 \u5c0f\u4e8e0\uff0c\u8bf4\u660eb2\u5927\u4e8eb1\uff0c\u5373\u5f00\u4ed3\u4e70\u5165\u7684\u4ef7\u683c\u4f4e\uff0c\u5356\u51fa\u5e73\u4ed3\u7684\u4ef7\u683c\u9ad8\uff0c\u6240\u4ee5\u76c8\u5229\uff09\n  \n  \n- 3\u3001a1 - a2\u5c0f\u4e8e0\uff0cb1 - b2\u5c0f\u4e8e0\n  a1 - a2\u4e3a\u671f\u8d27\u4e8f\u635f\u7684\u5dee\u4ef7\uff0cb1 - b2\u4e3a\u73b0\u8d27\u76c8\u5229\u7684\u5dee\u4ef7\u7531\u4e8ea1 - a2 > b1 - b2\uff0ca1 - a2\u7684\u7edd\u5bf9\u503c\u5c0f\u4e8eb1 - b2\u7684\u7edd\u5bf9\u503c\uff0c\u73b0\u8d27\u7684\u76c8\u5229\u5927\u4e8e\u671f\u8d27\u7684\u4e8f\u635f\u3002\u6574\u4f53\u4e3a\u76c8\u5229\u3002\n\n\n\u4e0d\u5b58\u5728 a1 - a2\u5c0f\u4e8e0\uff0cb1 - b2\u5927\u4e8e0\u8fd9\u79cd\u60c5\u51b5\uff0c\u56e0\u4e3a\u5df2\u7ecf\u9650\u5b9a\u4e86a1 - a2 > b1 - b2\u3002\u540c\u6837\u5982\u679ca1 - a2\u7b49\u4e8e0\uff0c\u7531\u4e8ea1 - a2 > b1 - b2\u9650\u5b9a\uff0cb1 - b2\u5c31\u4e00\u5b9a\u662f\u5c0f\u4e8e0\u7684\u3002\u6240\u4ee5\u53ea\u8981\u662f\u671f\u8d27\u505a\u7a7a\uff0c\u73b0\u8d27\u505a\u591a\u7684\u5bf9\u51b2\u65b9\u5f0f\uff0c\u7b26\u5408\u6761\u4ef6a1 - b1 > a2 - b2\uff0c\u7684\u5f00\u4ed3\u5e73\u4ed3\u64cd\u4f5c\uff0c\u5373\u4e3a\u76c8\u5229\u5bf9\u51b2\u3002\n\n\u4f8b\u5982\u4ee5\u4e0b\u6a21\u578b\u4e3a\u5176\u4e2d\u4e00\u79cd\u60c5\u51b5\uff1a"}, {"metadata": {"trusted": true}, "cell_type": "code", "source": "a1 = 10\nb1 = 5\na2 = 11\nb2 = 9\n\n# a1 - b1 > a2 - b2 \u63a8\u51fa \uff1a a1 - a2 > b1 - b2\n\nxA = [1, 2]\nyA = [a1, a2]\n\nxB = [1, 2]\nyB = [b1, b2]\nplt.plot(xA, yA, linewidth=5)\nplt.plot(xB, yB, linewidth=5)\nplt.show()", "execution_count": 20, "outputs": [{"output_type": "display_data", "data": {"text/plain": "<Figure size 432x288 with 1 Axes>", "image/png": "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\n"}, "metadata": {"needs_background": "light"}}]}], "metadata": {"kernelspec": {"name": "python3", "display_name": "Python 3", "language": "python"}, "language_info": {"name": "python", "version": "3.6.8", "mimetype": "text/x-python", "codemirror_mode": {"name": "ipython", "version": 3}, "pygments_lexer": "ipython3", "nbconvert_exporter": "python", "file_extension": ".py"}}, "nbformat": 4, "nbformat_minor": 2}