-p 0 (plotting) -f orders/orders2.csv (ordersfile) -n -1 (order_id) -c 1000000 (start_value) -t 9.95 (transaction_fee) -m 0.005 (market_impact_factor) -l 0 (do_leverage) -s solution (do_leverage) --- begin student code ------------------------------------------------ 1) orders are (panda frame): Symbol Order Shares Date 2011-01-14 AAPL BUY 1500 2011-01-19 AAPL SELL 1500 2011-01-19 IBM BUY 4000 2011-01-31 GOOG BUY 1000 2011-02-04 XOM SELL 4000 2011-02-11 XOM BUY 4000 2011-03-02 GOOG SELL 1000 2011-03-02 IBM SELL 2200 2011-06-02 IBM SELL 3300 2011-05-23 IBM BUY 1500 2011-06-10 AAPL BUY 1200 2011-08-09 GOOG BUY 55 2011-08-11 GOOG SELL 55 2011-12-14 AAPL SELL 1200: 2) orders are (sorted): Symbol Order Shares Date 2011-01-14 AAPL BUY 1500 2011-01-19 AAPL SELL 1500 2011-01-19 IBM BUY 4000 2011-01-31 GOOG BUY 1000 2011-02-04 XOM SELL 4000 2011-02-11 XOM BUY 4000 2011-03-02 GOOG SELL 1000 2011-03-02 IBM SELL 2200 2011-05-23 IBM BUY 1500 2011-06-02 IBM SELL 3300 2011-06-10 AAPL BUY 1200 2011-08-09 GOOG BUY 55 2011-08-11 GOOG SELL 55 2011-12-14 AAPL SELL 1200 4) 'change' order (list) is: [('2011-01-14', 'AAPL', 1500), ('2011-01-19', 'AAPL', -1500), ('2011-01-19', 'IBM', 4000), ('2011-01-31', 'GOOG', 1000), ('2011-02-04', 'XOM', -4000), ('2011-02-11', 'XOM', 4000), ('2011-03-02', 'GOOG', -1000), ('2011-03-02', 'IBM', -2200), ('2011-05-23', 'IBM', 1500), ('2011-06-02', 'IBM', -3300), ('2011-06-10', 'AAPL', 1200), ('2011-08-09', 'GOOG', 55), ('2011-08-11', 'GOOG', -55), ('2011-12-14', 'AAPL', -1200)] 5) symbols to pull are: ['AAPL', 'AAPL', 'IBM', 'GOOG', 'XOM', 'XOM', 'GOOG', 'IBM', 'IBM', 'IBM', 'AAPL', 'GOOG', 'GOOG', 'AAPL'] 6) symbols (non duplicates) to pull are: ['GOOG', 'AAPL', 'XOM', 'IBM'] 7) dates: DatetimeIndex(['2011-01-14', '2011-01-15', '2011-01-16', '2011-01-17', '2011-01-18', '2011-01-19', '2011-01-20', '2011-01-21', '2011-01-22', '2011-01-23', ... '2011-12-05', '2011-12-06', '2011-12-07', '2011-12-08', '2011-12-09', '2011-12-10', '2011-12-11', '2011-12-12', '2011-12-13', '2011-12-14'], dtype='datetime64[ns]', length=335, freq='D') 8) get adjusting closing prices of symbols date range : SPY GOOG AAPL XOM IBM 2011-01-14 125.44 624.18 346.99 74.62 145.70 2011-01-18 125.65 639.63 339.19 75.45 146.33 2011-01-19 124.42 631.75 337.39 75.00 151.22 2011-01-20 124.26 626.77 331.26 74.53 151.33 2011-01-21 124.54 611.83 325.32 75.71 151.04 2011-01-24 125.25 611.08 336.01 75.34 155.05 2011-01-25 125.31 619.91 339.94 75.43 156.81 2011-01-26 125.80 616.50 342.38 76.37 156.42 2011-01-27 126.11 616.79 341.74 76.58 156.45 2011-01-28 123.91 600.99 334.66 75.72 154.64 2011-01-31 124.84 600.36 337.87 77.34 157.35 2011-02-01 126.84 611.04 343.55 80.44 158.87 2011-02-02 126.60 612.00 342.85 79.96 158.62 2011-02-03 126.88 610.15 341.97 79.99 158.84 2011-02-04 127.24 610.98 345.02 79.84 159.30 2011-02-07 128.03 614.29 350.38 80.46 160.09 2011-02-08 128.61 618.38 353.68 79.97 161.93 2011-02-09 128.32 616.50 356.63 79.55 160.56 2011-02-10 128.37 616.44 353.02 80.18 160.02 2011-02-11 129.14 624.50 355.32 79.81 159.78 2011-02-14 129.45 628.15 357.64 81.83 159.17 2011-02-15 129.04 624.15 358.36 79.96 158.80 2011-02-16 129.85 624.22 361.58 80.65 159.34 2011-02-17 130.24 625.26 356.77 80.83 160.16 2011-02-18 130.51 630.08 349.06 81.43 160.75 2011-02-22 127.90 610.21 337.16 82.34 157.93 2011-02-23 127.11 611.32 341.16 83.91 156.20 2011-02-24 127.02 608.82 341.41 82.85 156.78 2011-02-25 128.38 610.04 346.67 82.24 158.25 2011-02-28 129.18 613.40 351.70 82.42 157.86 ... ... ... ... ... ... 2011-11-02 122.04 584.82 395.71 75.48 180.94 2011-11-03 124.26 597.50 401.35 76.93 184.26 2011-11-04 123.51 596.14 398.53 76.60 183.36 2011-11-07 124.27 608.33 398.02 77.41 184.28 2011-11-08 125.87 612.34 404.49 78.27 184.96 2011-11-09 121.22 600.95 393.59 75.95 180.01 2011-11-10 122.36 595.08 383.57 77.23 181.10 2011-11-11 124.67 608.35 382.98 78.24 185.08 2011-11-14 123.49 613.00 377.64 77.49 185.05 2011-11-15 124.10 616.56 387.17 77.62 186.44 2011-11-16 122.13 611.47 383.13 76.79 184.33 2011-11-17 120.19 600.87 375.80 76.41 183.45 2011-11-18 120.06 594.88 373.34 76.45 182.97 2011-11-21 117.78 580.94 367.43 75.48 179.26 2011-11-22 117.31 580.00 374.90 74.61 179.09 2011-11-23 114.73 570.11 365.42 73.19 175.77 2011-11-25 114.51 563.00 362.02 72.52 174.89 2011-11-28 117.83 588.19 374.51 74.43 179.98 2011-11-29 118.16 582.93 371.60 75.50 178.72 2011-11-30 123.02 599.39 380.57 78.94 185.70 2011-12-01 123.00 613.77 386.27 78.30 187.13 2011-12-02 122.89 620.36 388.03 78.30 187.34 2011-12-05 124.23 625.65 391.33 78.95 188.50 2011-12-06 124.27 623.77 389.28 79.31 190.58 2011-12-07 124.74 623.39 387.43 79.57 191.67 2011-12-08 122.00 616.05 388.99 78.38 189.23 2011-12-09 124.07 627.42 391.94 79.82 192.18 2011-12-12 122.26 625.39 390.16 78.56 189.83 2011-12-13 121.11 625.63 387.15 79.03 188.81 2011-12-14 119.82 618.07 378.56 77.96 186.41 [232 rows x 5 columns] 9) extract SPY from prices : GOOG AAPL XOM IBM 2011-01-14 624.18 346.99 74.62 145.70 2011-01-18 639.63 339.19 75.45 146.33 2011-01-19 631.75 337.39 75.00 151.22 2011-01-20 626.77 331.26 74.53 151.33 2011-01-21 611.83 325.32 75.71 151.04 2011-01-24 611.08 336.01 75.34 155.05 2011-01-25 619.91 339.94 75.43 156.81 2011-01-26 616.50 342.38 76.37 156.42 2011-01-27 616.79 341.74 76.58 156.45 2011-01-28 600.99 334.66 75.72 154.64 2011-01-31 600.36 337.87 77.34 157.35 2011-02-01 611.04 343.55 80.44 158.87 2011-02-02 612.00 342.85 79.96 158.62 2011-02-03 610.15 341.97 79.99 158.84 2011-02-04 610.98 345.02 79.84 159.30 2011-02-07 614.29 350.38 80.46 160.09 2011-02-08 618.38 353.68 79.97 161.93 2011-02-09 616.50 356.63 79.55 160.56 2011-02-10 616.44 353.02 80.18 160.02 2011-02-11 624.50 355.32 79.81 159.78 2011-02-14 628.15 357.64 81.83 159.17 2011-02-15 624.15 358.36 79.96 158.80 2011-02-16 624.22 361.58 80.65 159.34 2011-02-17 625.26 356.77 80.83 160.16 2011-02-18 630.08 349.06 81.43 160.75 2011-02-22 610.21 337.16 82.34 157.93 2011-02-23 611.32 341.16 83.91 156.20 2011-02-24 608.82 341.41 82.85 156.78 2011-02-25 610.04 346.67 82.24 158.25 2011-02-28 613.40 351.70 82.42 157.86 ... ... ... ... ... 2011-11-02 584.82 395.71 75.48 180.94 2011-11-03 597.50 401.35 76.93 184.26 2011-11-04 596.14 398.53 76.60 183.36 2011-11-07 608.33 398.02 77.41 184.28 2011-11-08 612.34 404.49 78.27 184.96 2011-11-09 600.95 393.59 75.95 180.01 2011-11-10 595.08 383.57 77.23 181.10 2011-11-11 608.35 382.98 78.24 185.08 2011-11-14 613.00 377.64 77.49 185.05 2011-11-15 616.56 387.17 77.62 186.44 2011-11-16 611.47 383.13 76.79 184.33 2011-11-17 600.87 375.80 76.41 183.45 2011-11-18 594.88 373.34 76.45 182.97 2011-11-21 580.94 367.43 75.48 179.26 2011-11-22 580.00 374.90 74.61 179.09 2011-11-23 570.11 365.42 73.19 175.77 2011-11-25 563.00 362.02 72.52 174.89 2011-11-28 588.19 374.51 74.43 179.98 2011-11-29 582.93 371.60 75.50 178.72 2011-11-30 599.39 380.57 78.94 185.70 2011-12-01 613.77 386.27 78.30 187.13 2011-12-02 620.36 388.03 78.30 187.34 2011-12-05 625.65 391.33 78.95 188.50 2011-12-06 623.77 389.28 79.31 190.58 2011-12-07 623.39 387.43 79.57 191.67 2011-12-08 616.05 388.99 78.38 189.23 2011-12-09 627.42 391.94 79.82 192.18 2011-12-12 625.39 390.16 78.56 189.83 2011-12-13 625.63 387.15 79.03 188.81 2011-12-14 618.07 378.56 77.96 186.41 [232 rows x 4 columns] 10) address the NaNs : GOOG AAPL XOM IBM 2011-01-14 624.18 346.99 74.62 145.70 2011-01-18 639.63 339.19 75.45 146.33 2011-01-19 631.75 337.39 75.00 151.22 2011-01-20 626.77 331.26 74.53 151.33 2011-01-21 611.83 325.32 75.71 151.04 2011-01-24 611.08 336.01 75.34 155.05 2011-01-25 619.91 339.94 75.43 156.81 2011-01-26 616.50 342.38 76.37 156.42 2011-01-27 616.79 341.74 76.58 156.45 2011-01-28 600.99 334.66 75.72 154.64 2011-01-31 600.36 337.87 77.34 157.35 2011-02-01 611.04 343.55 80.44 158.87 2011-02-02 612.00 342.85 79.96 158.62 2011-02-03 610.15 341.97 79.99 158.84 2011-02-04 610.98 345.02 79.84 159.30 2011-02-07 614.29 350.38 80.46 160.09 2011-02-08 618.38 353.68 79.97 161.93 2011-02-09 616.50 356.63 79.55 160.56 2011-02-10 616.44 353.02 80.18 160.02 2011-02-11 624.50 355.32 79.81 159.78 2011-02-14 628.15 357.64 81.83 159.17 2011-02-15 624.15 358.36 79.96 158.80 2011-02-16 624.22 361.58 80.65 159.34 2011-02-17 625.26 356.77 80.83 160.16 2011-02-18 630.08 349.06 81.43 160.75 2011-02-22 610.21 337.16 82.34 157.93 2011-02-23 611.32 341.16 83.91 156.20 2011-02-24 608.82 341.41 82.85 156.78 2011-02-25 610.04 346.67 82.24 158.25 2011-02-28 613.40 351.70 82.42 157.86 ... ... ... ... ... 2011-11-02 584.82 395.71 75.48 180.94 2011-11-03 597.50 401.35 76.93 184.26 2011-11-04 596.14 398.53 76.60 183.36 2011-11-07 608.33 398.02 77.41 184.28 2011-11-08 612.34 404.49 78.27 184.96 2011-11-09 600.95 393.59 75.95 180.01 2011-11-10 595.08 383.57 77.23 181.10 2011-11-11 608.35 382.98 78.24 185.08 2011-11-14 613.00 377.64 77.49 185.05 2011-11-15 616.56 387.17 77.62 186.44 2011-11-16 611.47 383.13 76.79 184.33 2011-11-17 600.87 375.80 76.41 183.45 2011-11-18 594.88 373.34 76.45 182.97 2011-11-21 580.94 367.43 75.48 179.26 2011-11-22 580.00 374.90 74.61 179.09 2011-11-23 570.11 365.42 73.19 175.77 2011-11-25 563.00 362.02 72.52 174.89 2011-11-28 588.19 374.51 74.43 179.98 2011-11-29 582.93 371.60 75.50 178.72 2011-11-30 599.39 380.57 78.94 185.70 2011-12-01 613.77 386.27 78.30 187.13 2011-12-02 620.36 388.03 78.30 187.34 2011-12-05 625.65 391.33 78.95 188.50 2011-12-06 623.77 389.28 79.31 190.58 2011-12-07 623.39 387.43 79.57 191.67 2011-12-08 616.05 388.99 78.38 189.23 2011-12-09 627.42 391.94 79.82 192.18 2011-12-12 625.39 390.16 78.56 189.83 2011-12-13 625.63 387.15 79.03 188.81 2011-12-14 618.07 378.56 77.96 186.41 [232 rows x 4 columns] 11) add cash column (value of cash $1 is worth $1) to prices : GOOG AAPL XOM IBM _CASH 2011-01-14 624.18 346.99 74.62 145.70 1.0 2011-01-18 639.63 339.19 75.45 146.33 1.0 2011-01-19 631.75 337.39 75.00 151.22 1.0 2011-01-20 626.77 331.26 74.53 151.33 1.0 2011-01-21 611.83 325.32 75.71 151.04 1.0 2011-01-24 611.08 336.01 75.34 155.05 1.0 2011-01-25 619.91 339.94 75.43 156.81 1.0 2011-01-26 616.50 342.38 76.37 156.42 1.0 2011-01-27 616.79 341.74 76.58 156.45 1.0 2011-01-28 600.99 334.66 75.72 154.64 1.0 2011-01-31 600.36 337.87 77.34 157.35 1.0 2011-02-01 611.04 343.55 80.44 158.87 1.0 2011-02-02 612.00 342.85 79.96 158.62 1.0 2011-02-03 610.15 341.97 79.99 158.84 1.0 2011-02-04 610.98 345.02 79.84 159.30 1.0 2011-02-07 614.29 350.38 80.46 160.09 1.0 2011-02-08 618.38 353.68 79.97 161.93 1.0 2011-02-09 616.50 356.63 79.55 160.56 1.0 2011-02-10 616.44 353.02 80.18 160.02 1.0 2011-02-11 624.50 355.32 79.81 159.78 1.0 2011-02-14 628.15 357.64 81.83 159.17 1.0 2011-02-15 624.15 358.36 79.96 158.80 1.0 2011-02-16 624.22 361.58 80.65 159.34 1.0 2011-02-17 625.26 356.77 80.83 160.16 1.0 2011-02-18 630.08 349.06 81.43 160.75 1.0 2011-02-22 610.21 337.16 82.34 157.93 1.0 2011-02-23 611.32 341.16 83.91 156.20 1.0 2011-02-24 608.82 341.41 82.85 156.78 1.0 2011-02-25 610.04 346.67 82.24 158.25 1.0 2011-02-28 613.40 351.70 82.42 157.86 1.0 ... ... ... ... ... ... 2011-11-02 584.82 395.71 75.48 180.94 1.0 2011-11-03 597.50 401.35 76.93 184.26 1.0 2011-11-04 596.14 398.53 76.60 183.36 1.0 2011-11-07 608.33 398.02 77.41 184.28 1.0 2011-11-08 612.34 404.49 78.27 184.96 1.0 2011-11-09 600.95 393.59 75.95 180.01 1.0 2011-11-10 595.08 383.57 77.23 181.10 1.0 2011-11-11 608.35 382.98 78.24 185.08 1.0 2011-11-14 613.00 377.64 77.49 185.05 1.0 2011-11-15 616.56 387.17 77.62 186.44 1.0 2011-11-16 611.47 383.13 76.79 184.33 1.0 2011-11-17 600.87 375.80 76.41 183.45 1.0 2011-11-18 594.88 373.34 76.45 182.97 1.0 2011-11-21 580.94 367.43 75.48 179.26 1.0 2011-11-22 580.00 374.90 74.61 179.09 1.0 2011-11-23 570.11 365.42 73.19 175.77 1.0 2011-11-25 563.00 362.02 72.52 174.89 1.0 2011-11-28 588.19 374.51 74.43 179.98 1.0 2011-11-29 582.93 371.60 75.50 178.72 1.0 2011-11-30 599.39 380.57 78.94 185.70 1.0 2011-12-01 613.77 386.27 78.30 187.13 1.0 2011-12-02 620.36 388.03 78.30 187.34 1.0 2011-12-05 625.65 391.33 78.95 188.50 1.0 2011-12-06 623.77 389.28 79.31 190.58 1.0 2011-12-07 623.39 387.43 79.57 191.67 1.0 2011-12-08 616.05 388.99 78.38 189.23 1.0 2011-12-09 627.42 391.94 79.82 192.18 1.0 2011-12-12 625.39 390.16 78.56 189.83 1.0 2011-12-13 625.63 387.15 79.03 188.81 1.0 2011-12-14 618.07 378.56 77.96 186.41 1.0 [232 rows x 5 columns] 12) create change frame with index and symbols : GOOG AAPL XOM IBM 2011-01-14 NaN NaN NaN NaN 2011-01-18 NaN NaN NaN NaN 2011-01-19 NaN NaN NaN NaN 2011-01-20 NaN NaN NaN NaN 2011-01-21 NaN NaN NaN NaN 2011-01-24 NaN NaN NaN NaN 2011-01-25 NaN NaN NaN NaN 2011-01-26 NaN NaN NaN NaN 2011-01-27 NaN NaN NaN NaN 2011-01-28 NaN NaN NaN NaN 2011-01-31 NaN NaN NaN NaN 2011-02-01 NaN NaN NaN NaN 2011-02-02 NaN NaN NaN NaN 2011-02-03 NaN NaN NaN NaN 2011-02-04 NaN NaN NaN NaN 2011-02-07 NaN NaN NaN NaN 2011-02-08 NaN NaN NaN NaN 2011-02-09 NaN NaN NaN NaN 2011-02-10 NaN NaN NaN NaN 2011-02-11 NaN NaN NaN NaN 2011-02-14 NaN NaN NaN NaN 2011-02-15 NaN NaN NaN NaN 2011-02-16 NaN NaN NaN NaN 2011-02-17 NaN NaN NaN NaN 2011-02-18 NaN NaN NaN NaN 2011-02-22 NaN NaN NaN NaN 2011-02-23 NaN NaN NaN NaN 2011-02-24 NaN NaN NaN NaN 2011-02-25 NaN NaN NaN NaN 2011-02-28 NaN NaN NaN NaN ... ... ... ... ... 2011-11-02 NaN NaN NaN NaN 2011-11-03 NaN NaN NaN NaN 2011-11-04 NaN NaN NaN NaN 2011-11-07 NaN NaN NaN NaN 2011-11-08 NaN NaN NaN NaN 2011-11-09 NaN NaN NaN NaN 2011-11-10 NaN NaN NaN NaN 2011-11-11 NaN NaN NaN NaN 2011-11-14 NaN NaN NaN NaN 2011-11-15 NaN NaN NaN NaN 2011-11-16 NaN NaN NaN NaN 2011-11-17 NaN NaN NaN NaN 2011-11-18 NaN NaN NaN NaN 2011-11-21 NaN NaN NaN NaN 2011-11-22 NaN NaN NaN NaN 2011-11-23 NaN NaN NaN NaN 2011-11-25 NaN NaN NaN NaN 2011-11-28 NaN NaN NaN NaN 2011-11-29 NaN NaN NaN NaN 2011-11-30 NaN NaN NaN NaN 2011-12-01 NaN NaN NaN NaN 2011-12-02 NaN NaN NaN NaN 2011-12-05 NaN NaN NaN NaN 2011-12-06 NaN NaN NaN NaN 2011-12-07 NaN NaN NaN NaN 2011-12-08 NaN NaN NaN NaN 2011-12-09 NaN NaN NaN NaN 2011-12-12 NaN NaN NaN NaN 2011-12-13 NaN NaN NaN NaN 2011-12-14 NaN NaN NaN NaN [232 rows x 4 columns] 13) fill changes with zeros : GOOG AAPL XOM IBM 2011-01-14 0 0 0 0 2011-01-18 0 0 0 0 2011-01-19 0 0 0 0 2011-01-20 0 0 0 0 2011-01-21 0 0 0 0 2011-01-24 0 0 0 0 2011-01-25 0 0 0 0 2011-01-26 0 0 0 0 2011-01-27 0 0 0 0 2011-01-28 0 0 0 0 2011-01-31 0 0 0 0 2011-02-01 0 0 0 0 2011-02-02 0 0 0 0 2011-02-03 0 0 0 0 2011-02-04 0 0 0 0 2011-02-07 0 0 0 0 2011-02-08 0 0 0 0 2011-02-09 0 0 0 0 2011-02-10 0 0 0 0 2011-02-11 0 0 0 0 2011-02-14 0 0 0 0 2011-02-15 0 0 0 0 2011-02-16 0 0 0 0 2011-02-17 0 0 0 0 2011-02-18 0 0 0 0 2011-02-22 0 0 0 0 2011-02-23 0 0 0 0 2011-02-24 0 0 0 0 2011-02-25 0 0 0 0 2011-02-28 0 0 0 0 ... ... ... ... ... 2011-11-02 0 0 0 0 2011-11-03 0 0 0 0 2011-11-04 0 0 0 0 2011-11-07 0 0 0 0 2011-11-08 0 0 0 0 2011-11-09 0 0 0 0 2011-11-10 0 0 0 0 2011-11-11 0 0 0 0 2011-11-14 0 0 0 0 2011-11-15 0 0 0 0 2011-11-16 0 0 0 0 2011-11-17 0 0 0 0 2011-11-18 0 0 0 0 2011-11-21 0 0 0 0 2011-11-22 0 0 0 0 2011-11-23 0 0 0 0 2011-11-25 0 0 0 0 2011-11-28 0 0 0 0 2011-11-29 0 0 0 0 2011-11-30 0 0 0 0 2011-12-01 0 0 0 0 2011-12-02 0 0 0 0 2011-12-05 0 0 0 0 2011-12-06 0 0 0 0 2011-12-07 0 0 0 0 2011-12-08 0 0 0 0 2011-12-09 0 0 0 0 2011-12-12 0 0 0 0 2011-12-13 0 0 0 0 2011-12-14 0 0 0 0 [232 rows x 4 columns] 14) A separae cash series index by prices with zeros: 2011-01-14 0.0 2011-01-18 0.0 2011-01-19 0.0 2011-01-20 0.0 2011-01-21 0.0 2011-01-24 0.0 2011-01-25 0.0 2011-01-26 0.0 2011-01-27 0.0 2011-01-28 0.0 2011-01-31 0.0 2011-02-01 0.0 2011-02-02 0.0 2011-02-03 0.0 2011-02-04 0.0 2011-02-07 0.0 2011-02-08 0.0 2011-02-09 0.0 2011-02-10 0.0 2011-02-11 0.0 2011-02-14 0.0 2011-02-15 0.0 2011-02-16 0.0 2011-02-17 0.0 2011-02-18 0.0 2011-02-22 0.0 2011-02-23 0.0 2011-02-24 0.0 2011-02-25 0.0 2011-02-28 0.0 ... 2011-11-02 0.0 2011-11-03 0.0 2011-11-04 0.0 2011-11-07 0.0 2011-11-08 0.0 2011-11-09 0.0 2011-11-10 0.0 2011-11-11 0.0 2011-11-14 0.0 2011-11-15 0.0 2011-11-16 0.0 2011-11-17 0.0 2011-11-18 0.0 2011-11-21 0.0 2011-11-22 0.0 2011-11-23 0.0 2011-11-25 0.0 2011-11-28 0.0 2011-11-29 0.0 2011-11-30 0.0 2011-12-01 0.0 2011-12-02 0.0 2011-12-05 0.0 2011-12-06 0.0 2011-12-07 0.0 2011-12-08 0.0 2011-12-09 0.0 2011-12-12 0.0 2011-12-13 0.0 2011-12-14 0.0 Length: 232, dtype: float64 15) first value in cash series is amount that we start out with: 2011-01-14 1000000.0 2011-01-18 0.0 2011-01-19 0.0 2011-01-20 0.0 2011-01-21 0.0 2011-01-24 0.0 2011-01-25 0.0 2011-01-26 0.0 2011-01-27 0.0 2011-01-28 0.0 2011-01-31 0.0 2011-02-01 0.0 2011-02-02 0.0 2011-02-03 0.0 2011-02-04 0.0 2011-02-07 0.0 2011-02-08 0.0 2011-02-09 0.0 2011-02-10 0.0 2011-02-11 0.0 2011-02-14 0.0 2011-02-15 0.0 2011-02-16 0.0 2011-02-17 0.0 2011-02-18 0.0 2011-02-22 0.0 2011-02-23 0.0 2011-02-24 0.0 2011-02-25 0.0 2011-02-28 0.0 ... 2011-11-02 0.0 2011-11-03 0.0 2011-11-04 0.0 2011-11-07 0.0 2011-11-08 0.0 2011-11-09 0.0 2011-11-10 0.0 2011-11-11 0.0 2011-11-14 0.0 2011-11-15 0.0 2011-11-16 0.0 2011-11-17 0.0 2011-11-18 0.0 2011-11-21 0.0 2011-11-22 0.0 2011-11-23 0.0 2011-11-25 0.0 2011-11-28 0.0 2011-11-29 0.0 2011-11-30 0.0 2011-12-01 0.0 2011-12-02 0.0 2011-12-05 0.0 2011-12-06 0.0 2011-12-07 0.0 2011-12-08 0.0 2011-12-09 0.0 2011-12-12 0.0 2011-12-13 0.0 2011-12-14 0.0 Length: 232, dtype: float64 16) iterate through sorted series of orders and execute the orders impacts our cash series, and the change frame 2011-01-14: BUYING 1500 AAPL Other costs +2,612.3750 price +520,485.0000 @ +346.9900 Total cash CHANGE is: -523,097.3750 Total cash available: +476,902.6250 2011-01-19: SELLING -1500 AAPL Other costs +2,540.3750 price -506,085.0000 @ +337.3900 Total cash CHANGE is: +503,544.6250 Total cash available: +980,447.2500 2011-01-19: BUYING 4000 IBM Other costs +3,034.3500 price +604,880.0000 @ +151.2200 Total cash CHANGE is: -607,914.3500 Total cash available: +372,532.9000 2011-01-31: BUYING 1000 GOOG Other costs +3,011.7500 price +600,360.0000 @ +600.3600 Total cash CHANGE is: -603,371.7500 Total cash available: -230,838.8500 2011-02-04: SELLING -4000 XOM Other costs +1,606.7500 price -319,360.0000 @ +79.8400 Total cash CHANGE is: +317,753.2500 Total cash available: +86,914.4000 2011-02-11: BUYING 4000 XOM Other costs +1,606.1500 price +319,240.0000 @ +79.8100 Total cash CHANGE is: -320,846.1500 Total cash available: -233,931.7500 2011-03-02: SELLING -1000 GOOG Other costs +3,013.9000 price -600,790.0000 @ +600.7900 Total cash CHANGE is: +597,776.1000 Total cash available: +363,844.3500 2011-03-02: SELLING -2200 IBM Other costs +1,727.9300 price -343,596.0000 @ +156.1800 Total cash CHANGE is: +341,868.0700 Total cash available: +705,712.4200 2011-05-23: BUYING 1500 IBM Other costs +1,246.1000 price +247,230.0000 @ +164.8200 Total cash CHANGE is: -248,476.1000 Total cash available: +457,236.3200 2011-06-02: SELLING -3300 IBM Other costs +2,694.3350 price -536,877.0000 @ +162.6900 Total cash CHANGE is: +534,182.6650 Total cash available: +991,418.9850 2011-06-10: BUYING 1200 AAPL Other costs +1,957.0100 price +389,412.0000 @ +324.5100 Total cash CHANGE is: -391,369.0100 Total cash available: +600,049.9750 2011-08-09: BUYING 55 GOOG Other costs +167.6380 price +31,537.5500 @ +573.4100 Total cash CHANGE is: -31,705.1880 Total cash available: +568,344.7870 2011-08-11: SELLING -55 GOOG Other costs +164.5360 price -30,917.1500 @ +562.1300 Total cash CHANGE is: +30,752.6140 Total cash available: +599,097.4010 2011-12-14: SELLING -1200 AAPL Other costs +2,281.3100 price -454,272.0000 @ +378.5600 Total cash CHANGE is: +451,990.6900 Total cash available: +1,051,088.0910 16) append cash to changes: GOOG AAPL XOM IBM _CASH 2011-01-14 0 1500 0 0 476902.625 2011-01-18 0 0 0 0 0.000 2011-01-19 0 -1500 0 4000 -104369.725 2011-01-20 0 0 0 0 0.000 2011-01-21 0 0 0 0 0.000 2011-01-24 0 0 0 0 0.000 2011-01-25 0 0 0 0 0.000 2011-01-26 0 0 0 0 0.000 2011-01-27 0 0 0 0 0.000 2011-01-28 0 0 0 0 0.000 2011-01-31 1000 0 0 0 -603371.750 2011-02-01 0 0 0 0 0.000 2011-02-02 0 0 0 0 0.000 2011-02-03 0 0 0 0 0.000 2011-02-04 0 0 -4000 0 317753.250 2011-02-07 0 0 0 0 0.000 2011-02-08 0 0 0 0 0.000 2011-02-09 0 0 0 0 0.000 2011-02-10 0 0 0 0 0.000 2011-02-11 0 0 4000 0 -320846.150 2011-02-14 0 0 0 0 0.000 2011-02-15 0 0 0 0 0.000 2011-02-16 0 0 0 0 0.000 2011-02-17 0 0 0 0 0.000 2011-02-18 0 0 0 0 0.000 2011-02-22 0 0 0 0 0.000 2011-02-23 0 0 0 0 0.000 2011-02-24 0 0 0 0 0.000 2011-02-25 0 0 0 0 0.000 2011-02-28 0 0 0 0 0.000 ... ... ... ... ... ... 2011-11-02 0 0 0 0 0.000 2011-11-03 0 0 0 0 0.000 2011-11-04 0 0 0 0 0.000 2011-11-07 0 0 0 0 0.000 2011-11-08 0 0 0 0 0.000 2011-11-09 0 0 0 0 0.000 2011-11-10 0 0 0 0 0.000 2011-11-11 0 0 0 0 0.000 2011-11-14 0 0 0 0 0.000 2011-11-15 0 0 0 0 0.000 2011-11-16 0 0 0 0 0.000 2011-11-17 0 0 0 0 0.000 2011-11-18 0 0 0 0 0.000 2011-11-21 0 0 0 0 0.000 2011-11-22 0 0 0 0 0.000 2011-11-23 0 0 0 0 0.000 2011-11-25 0 0 0 0 0.000 2011-11-28 0 0 0 0 0.000 2011-11-29 0 0 0 0 0.000 2011-11-30 0 0 0 0 0.000 2011-12-01 0 0 0 0 0.000 2011-12-02 0 0 0 0 0.000 2011-12-05 0 0 0 0 0.000 2011-12-06 0 0 0 0 0.000 2011-12-07 0 0 0 0 0.000 2011-12-08 0 0 0 0 0.000 2011-12-09 0 0 0 0 0.000 2011-12-12 0 0 0 0 0.000 2011-12-13 0 0 0 0 0.000 2011-12-14 0 -1200 0 0 451990.690 [232 rows x 5 columns] 17) compute the holding everyday (same as) cumulative sum (cumsum): GOOG AAPL XOM IBM _CASH 2011-01-14 0.0 1500.0 0.0 0.0 476902.625 2011-01-18 0.0 1500.0 0.0 0.0 476902.625 2011-01-19 0.0 0.0 0.0 4000.0 372532.900 2011-01-20 0.0 0.0 0.0 4000.0 372532.900 2011-01-21 0.0 0.0 0.0 4000.0 372532.900 2011-01-24 0.0 0.0 0.0 4000.0 372532.900 2011-01-25 0.0 0.0 0.0 4000.0 372532.900 2011-01-26 0.0 0.0 0.0 4000.0 372532.900 2011-01-27 0.0 0.0 0.0 4000.0 372532.900 2011-01-28 0.0 0.0 0.0 4000.0 372532.900 2011-01-31 1000.0 0.0 0.0 4000.0 -230838.850 2011-02-01 1000.0 0.0 0.0 4000.0 -230838.850 2011-02-02 1000.0 0.0 0.0 4000.0 -230838.850 2011-02-03 1000.0 0.0 0.0 4000.0 -230838.850 2011-02-04 1000.0 0.0 -4000.0 4000.0 86914.400 2011-02-07 1000.0 0.0 -4000.0 4000.0 86914.400 2011-02-08 1000.0 0.0 -4000.0 4000.0 86914.400 2011-02-09 1000.0 0.0 -4000.0 4000.0 86914.400 2011-02-10 1000.0 0.0 -4000.0 4000.0 86914.400 2011-02-11 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-14 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-15 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-16 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-17 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-18 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-22 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-23 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-24 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-25 1000.0 0.0 0.0 4000.0 -233931.750 2011-02-28 1000.0 0.0 0.0 4000.0 -233931.750 ... ... ... ... ... ... 2011-11-02 0.0 1200.0 0.0 0.0 599097.401 2011-11-03 0.0 1200.0 0.0 0.0 599097.401 2011-11-04 0.0 1200.0 0.0 0.0 599097.401 2011-11-07 0.0 1200.0 0.0 0.0 599097.401 2011-11-08 0.0 1200.0 0.0 0.0 599097.401 2011-11-09 0.0 1200.0 0.0 0.0 599097.401 2011-11-10 0.0 1200.0 0.0 0.0 599097.401 2011-11-11 0.0 1200.0 0.0 0.0 599097.401 2011-11-14 0.0 1200.0 0.0 0.0 599097.401 2011-11-15 0.0 1200.0 0.0 0.0 599097.401 2011-11-16 0.0 1200.0 0.0 0.0 599097.401 2011-11-17 0.0 1200.0 0.0 0.0 599097.401 2011-11-18 0.0 1200.0 0.0 0.0 599097.401 2011-11-21 0.0 1200.0 0.0 0.0 599097.401 2011-11-22 0.0 1200.0 0.0 0.0 599097.401 2011-11-23 0.0 1200.0 0.0 0.0 599097.401 2011-11-25 0.0 1200.0 0.0 0.0 599097.401 2011-11-28 0.0 1200.0 0.0 0.0 599097.401 2011-11-29 0.0 1200.0 0.0 0.0 599097.401 2011-11-30 0.0 1200.0 0.0 0.0 599097.401 2011-12-01 0.0 1200.0 0.0 0.0 599097.401 2011-12-02 0.0 1200.0 0.0 0.0 599097.401 2011-12-05 0.0 1200.0 0.0 0.0 599097.401 2011-12-06 0.0 1200.0 0.0 0.0 599097.401 2011-12-07 0.0 1200.0 0.0 0.0 599097.401 2011-12-08 0.0 1200.0 0.0 0.0 599097.401 2011-12-09 0.0 1200.0 0.0 0.0 599097.401 2011-12-12 0.0 1200.0 0.0 0.0 599097.401 2011-12-13 0.0 1200.0 0.0 0.0 599097.401 2011-12-14 0.0 0.0 0.0 0.0 1051088.091 [232 rows x 5 columns] 18) compute the portfolue value (multiply * holdings): GOOG AAPL XOM IBM _CASH 2011-01-14 0.0 520485.0 0.0 0.0 476902.625 2011-01-18 0.0 508785.0 0.0 0.0 476902.625 2011-01-19 0.0 0.0 0.0 604880.0 372532.900 2011-01-20 0.0 0.0 0.0 605320.0 372532.900 2011-01-21 0.0 0.0 0.0 604160.0 372532.900 2011-01-24 0.0 0.0 0.0 620200.0 372532.900 2011-01-25 0.0 0.0 0.0 627240.0 372532.900 2011-01-26 0.0 0.0 0.0 625680.0 372532.900 2011-01-27 0.0 0.0 0.0 625800.0 372532.900 2011-01-28 0.0 0.0 0.0 618560.0 372532.900 2011-01-31 600360.0 0.0 0.0 629400.0 -230838.850 2011-02-01 611040.0 0.0 0.0 635480.0 -230838.850 2011-02-02 612000.0 0.0 0.0 634480.0 -230838.850 2011-02-03 610150.0 0.0 0.0 635360.0 -230838.850 2011-02-04 610980.0 0.0 -319360.0 637200.0 86914.400 2011-02-07 614290.0 0.0 -321840.0 640360.0 86914.400 2011-02-08 618380.0 0.0 -319880.0 647720.0 86914.400 2011-02-09 616500.0 0.0 -318200.0 642240.0 86914.400 2011-02-10 616440.0 0.0 -320720.0 640080.0 86914.400 2011-02-11 624500.0 0.0 0.0 639120.0 -233931.750 2011-02-14 628150.0 0.0 0.0 636680.0 -233931.750 2011-02-15 624150.0 0.0 0.0 635200.0 -233931.750 2011-02-16 624220.0 0.0 0.0 637360.0 -233931.750 2011-02-17 625260.0 0.0 0.0 640640.0 -233931.750 2011-02-18 630080.0 0.0 0.0 643000.0 -233931.750 2011-02-22 610210.0 0.0 0.0 631720.0 -233931.750 2011-02-23 611320.0 0.0 0.0 624800.0 -233931.750 2011-02-24 608820.0 0.0 0.0 627120.0 -233931.750 2011-02-25 610040.0 0.0 0.0 633000.0 -233931.750 2011-02-28 613400.0 0.0 0.0 631440.0 -233931.750 ... ... ... ... ... ... 2011-11-02 0.0 474852.0 0.0 0.0 599097.401 2011-11-03 0.0 481620.0 0.0 0.0 599097.401 2011-11-04 0.0 478236.0 0.0 0.0 599097.401 2011-11-07 0.0 477624.0 0.0 0.0 599097.401 2011-11-08 0.0 485388.0 0.0 0.0 599097.401 2011-11-09 0.0 472308.0 0.0 0.0 599097.401 2011-11-10 0.0 460284.0 0.0 0.0 599097.401 2011-11-11 0.0 459576.0 0.0 0.0 599097.401 2011-11-14 0.0 453168.0 0.0 0.0 599097.401 2011-11-15 0.0 464604.0 0.0 0.0 599097.401 2011-11-16 0.0 459756.0 0.0 0.0 599097.401 2011-11-17 0.0 450960.0 0.0 0.0 599097.401 2011-11-18 0.0 448008.0 0.0 0.0 599097.401 2011-11-21 0.0 440916.0 0.0 0.0 599097.401 2011-11-22 0.0 449880.0 0.0 0.0 599097.401 2011-11-23 0.0 438504.0 0.0 0.0 599097.401 2011-11-25 0.0 434424.0 0.0 0.0 599097.401 2011-11-28 0.0 449412.0 0.0 0.0 599097.401 2011-11-29 0.0 445920.0 0.0 0.0 599097.401 2011-11-30 0.0 456684.0 0.0 0.0 599097.401 2011-12-01 0.0 463524.0 0.0 0.0 599097.401 2011-12-02 0.0 465636.0 0.0 0.0 599097.401 2011-12-05 0.0 469596.0 0.0 0.0 599097.401 2011-12-06 0.0 467136.0 0.0 0.0 599097.401 2011-12-07 0.0 464916.0 0.0 0.0 599097.401 2011-12-08 0.0 466788.0 0.0 0.0 599097.401 2011-12-09 0.0 470328.0 0.0 0.0 599097.401 2011-12-12 0.0 468192.0 0.0 0.0 599097.401 2011-12-13 0.0 464580.0 0.0 0.0 599097.401 2011-12-14 0.0 0.0 0.0 0.0 1051088.091 [232 rows x 5 columns] 19) sum the rows you got the value of portfolio!: 2011-01-14 997387.625 2011-01-18 985687.625 2011-01-19 977412.900 2011-01-20 977852.900 2011-01-21 976692.900 2011-01-24 992732.900 2011-01-25 999772.900 2011-01-26 998212.900 2011-01-27 998332.900 2011-01-28 991092.900 2011-01-31 998921.150 2011-02-01 1015681.150 2011-02-02 1015641.150 2011-02-03 1014671.150 2011-02-04 1015734.400 2011-02-07 1019724.400 2011-02-08 1033134.400 2011-02-09 1027454.400 2011-02-10 1022714.400 2011-02-11 1029688.250 2011-02-14 1030898.250 2011-02-15 1025418.250 2011-02-16 1027648.250 2011-02-17 1031968.250 2011-02-18 1039148.250 2011-02-22 1007998.250 2011-02-23 1002188.250 2011-02-24 1002008.250 2011-02-25 1009108.250 2011-02-28 1010908.250 ... 2011-11-02 1073949.401 2011-11-03 1080717.401 2011-11-04 1077333.401 2011-11-07 1076721.401 2011-11-08 1084485.401 2011-11-09 1071405.401 2011-11-10 1059381.401 2011-11-11 1058673.401 2011-11-14 1052265.401 2011-11-15 1063701.401 2011-11-16 1058853.401 2011-11-17 1050057.401 2011-11-18 1047105.401 2011-11-21 1040013.401 2011-11-22 1048977.401 2011-11-23 1037601.401 2011-11-25 1033521.401 2011-11-28 1048509.401 2011-11-29 1045017.401 2011-11-30 1055781.401 2011-12-01 1062621.401 2011-12-02 1064733.401 2011-12-05 1068693.401 2011-12-06 1066233.401 2011-12-07 1064013.401 2011-12-08 1065885.401 2011-12-09 1069425.401 2011-12-12 1067289.401 2011-12-13 1063677.401 2011-12-14 1051088.091 Length: 232, dtype: float64 --- end student code ------------------------------------------------ portfolio values: 2011-01-14 997387.625 2011-01-18 985687.625 2011-01-19 977412.900 2011-01-20 977852.900 2011-01-21 976692.900 2011-01-24 992732.900 2011-01-25 999772.900 2011-01-26 998212.900 2011-01-27 998332.900 2011-01-28 991092.900 2011-01-31 998921.150 2011-02-01 1015681.150 2011-02-02 1015641.150 2011-02-03 1014671.150 2011-02-04 1015734.400 2011-02-07 1019724.400 2011-02-08 1033134.400 2011-02-09 1027454.400 2011-02-10 1022714.400 2011-02-11 1029688.250 2011-02-14 1030898.250 2011-02-15 1025418.250 2011-02-16 1027648.250 2011-02-17 1031968.250 2011-02-18 1039148.250 2011-02-22 1007998.250 2011-02-23 1002188.250 2011-02-24 1002008.250 2011-02-25 1009108.250 2011-02-28 1010908.250 ... 2011-11-02 1073949.401 2011-11-03 1080717.401 2011-11-04 1077333.401 2011-11-07 1076721.401 2011-11-08 1084485.401 2011-11-09 1071405.401 2011-11-10 1059381.401 2011-11-11 1058673.401 2011-11-14 1052265.401 2011-11-15 1063701.401 2011-11-16 1058853.401 2011-11-17 1050057.401 2011-11-18 1047105.401 2011-11-21 1040013.401 2011-11-22 1048977.401 2011-11-23 1037601.401 2011-11-25 1033521.401 2011-11-28 1048509.401 2011-11-29 1045017.401 2011-11-30 1055781.401 2011-12-01 1062621.401 2011-12-02 1064733.401 2011-12-05 1068693.401 2011-12-06 1066233.401 2011-12-07 1064013.401 2011-12-08 1065885.401 2011-12-09 1069425.401 2011-12-12 1067289.401 2011-12-13 1063677.401 2011-12-14 1051088.091 Length: 232, dtype: float64 --- begin statistic ------------------------------------------------- Date Range: 2011-01-14 to 2011-12-14 (portfolio) Date Range: 2011-01-10 to 2011-12-20 (on web page) Number of Trading Days: 232 Sharpe Ratio of Fund: +0.55260490371 Average Daily Return of Fund: +0.00025348308 Final Portfolio Value: +1,051,088.09100000025 XX solution 2 232 +0.55260490371 +0.00025348308 +1,051,088.09100000025