In [1]:
import quandl;
import pandas as pd;
import pickle; #serializates everything
import matplotlib.pyplot as plt;
from matplotlib import style;
style.use("fivethirtyeight");
In [2]:
api_key = open("quandlapikey.txt", "r").read();
def state_list():
fiddy_states = pd.read_html("https://simple.wikipedia.org/wiki/List_of_U.S._states");
return fiddy_states[0][0][1:];
def grap_initial_state_data():
states = state_list();
main_df = pd.DataFrame();
for ab in states:
querry = "FMAC/HPI_" + ab;
df = quandl.get(querry, authtoken = api_key);
df.columns = [ab];
if main_df.empty:
main_df = df;
else:
main_df = main_df.join(df);
print(main_df.head());
pickle_out = open("./data/fiddy_states.pickle", "wb");
pickle.dump(main_df, pickle_out);
pickle_out.close();
In [3]:
grap_initial_state_data();
HPI_data = pd.read_pickle("./data/fiddy_states.pickle");
In [4]:
HPI_data["TX2"] = HPI_data["TX"] * 2;
print(HPI_data[["TX", "TX2"]].head());
TX TX2
Date
1975-01-31 32.659989 65.319979
1975-02-28 32.970745 65.941491
1975-03-31 33.542148 67.084297
1975-04-30 34.383316 68.766633
1975-05-31 34.652016 69.304031
In [5]:
HPI_data.plot();
plt.legend().remove(); # ugly
plt.show();
In [7]:
def grap_initial_state_data_pct():
states = state_list();
main_df = pd.DataFrame();
for ab in states:
querry = "FMAC/HPI_" + ab;
df = quandl.get(querry, authtoken = api_key);
df = df.pct_change(); # <-------
df.columns = [ab];
if main_df.empty:
main_df = df;
else:
main_df = main_df.join(df);
print(main_df.head());
pickle_out = open("./data/fiddy_states.pickle", "wb");
pickle.dump(main_df, pickle_out);
pickle_out.close();
In [8]:
grap_initial_state_data_pct();
HPI_data = pd.read_pickle("./data/fiddy_states.pickle");
AL AK AZ AR CA CO \
Date
1975-01-31 NaN NaN NaN NaN NaN NaN
1975-02-28 0.006265 0.014858 0.016885 0.008462 0.003562 0.011596
1975-03-31 0.007275 0.014984 0.015467 0.007296 0.012152 0.011267
1975-04-30 0.008841 0.015407 0.011761 0.005923 0.019665 0.010358
1975-05-31 0.008343 0.016579 0.006354 0.005897 0.016106 0.008397
1975-06-30 0.004630 0.017464 -0.000993 0.006401 0.007088 0.006907
1975-07-31 -0.000803 0.017166 -0.009263 0.005610 0.007417 0.004714
1975-08-31 -0.005271 0.015375 -0.015109 0.003465 0.013138 -0.000160
1975-09-30 -0.006503 0.013191 -0.016194 0.000495 0.014310 -0.003531
1975-10-31 -0.003418 0.011841 -0.009244 -0.000817 0.012948 -0.001422
1975-11-30 0.002274 0.010445 0.003874 0.001247 0.008628 0.005095
1975-12-31 0.008699 0.008595 0.012425 0.004176 0.007004 0.010101
1976-01-31 0.014330 0.006845 0.012544 0.006116 0.010031 0.010930
1976-02-29 0.016442 0.005687 0.009225 0.008293 0.011758 0.009916
1976-03-31 0.014299 0.005221 0.005142 0.010604 0.014719 0.009435
1976-04-30 0.009776 0.005083 0.001592 0.011690 0.016268 0.008210
1976-05-31 0.005433 0.005002 -0.000623 0.010539 0.012322 0.005373
1976-06-30 0.002323 0.004826 -0.001307 0.008630 0.011998 0.003158
1976-07-31 0.000911 0.004108 -0.000093 0.007835 0.015447 0.001385
1976-08-31 0.000095 0.003195 0.001992 0.007492 0.015780 0.000343
1976-09-30 -0.000122 0.003871 0.003210 0.005502 0.014244 0.001794
1976-10-31 0.001398 0.005964 0.005729 0.002689 0.014445 0.006720
1976-11-30 0.004142 0.007941 0.007539 0.001780 0.017468 0.011934
1976-12-31 0.004686 0.009487 0.005215 0.003089 0.017118 0.012181
1977-01-31 0.002710 0.010066 0.002633 0.005805 0.017421 0.009045
1977-02-28 0.001449 0.009306 0.003425 0.008443 0.022307 0.007516
1977-03-31 0.001783 0.007481 0.007582 0.009150 0.026876 0.008321
1977-04-30 0.004542 0.005675 0.009782 0.007691 0.025894 0.011563
1977-05-31 0.007565 0.004838 0.008472 0.006038 0.025734 0.014669
1977-06-30 0.009794 0.004671 0.010422 0.006048 0.025276 0.017007
... ... ... ... ... ... ...
2014-04-30 0.005850 0.008745 0.005845 0.003635 0.011215 0.015849
2014-05-31 0.006408 0.007588 0.005152 0.004753 0.007793 0.012616
2014-06-30 0.007069 0.006210 0.003623 0.005084 0.006607 0.008290
2014-07-31 0.005792 0.004024 0.001467 0.005801 0.006345 0.004255
2014-08-31 0.001767 0.001059 -0.001177 0.005942 0.002838 0.003735
2014-09-30 -0.003806 -0.002124 -0.000784 0.002451 0.000013 0.004014
2014-10-31 -0.006612 -0.004557 0.004295 -0.001792 0.000328 0.003978
2014-11-30 -0.004507 -0.005286 0.007463 -0.004979 0.000855 0.003516
2014-12-31 -0.000697 -0.003598 0.005448 -0.006300 0.002391 0.003670
2015-01-31 0.002404 -0.000699 0.004165 -0.004048 0.004659 0.007938
2015-02-28 0.003778 0.002504 0.007053 0.000352 0.008703 0.014658
2015-03-31 0.006025 0.006393 0.009547 0.004578 0.014466 0.017794
2015-04-30 0.008063 0.010092 0.010011 0.007742 0.013571 0.017386
2015-05-31 0.008602 0.011821 0.008727 0.008627 0.010299 0.015398
2015-06-30 0.007109 0.010355 0.006646 0.006909 0.008185 0.011427
2015-07-31 0.003490 0.006491 0.006100 0.005580 0.005941 0.007543
2015-08-31 -0.000458 0.002812 0.006126 0.004988 0.004600 0.003206
2015-09-30 -0.003928 -0.000168 0.005599 0.003144 0.002419 0.000691
2015-10-31 -0.004591 -0.002178 0.002833 -0.000123 0.001645 0.000173
2015-11-30 -0.003594 -0.001876 0.000906 -0.003291 0.002618 -0.001592
2015-12-31 -0.001958 -0.001417 0.001369 -0.004815 0.002452 0.001236
2016-01-31 0.002135 -0.001374 0.003677 -0.003870 0.002286 0.008782
2016-02-29 0.006706 -0.000010 0.009080 0.000192 0.009885 0.014900
2016-03-31 0.009404 0.002609 0.012698 0.005841 0.015662 0.018614
2016-04-30 0.011048 0.005090 0.010697 0.008878 0.011050 0.018749
2016-05-31 0.009749 0.005894 0.006104 0.008496 0.008315 0.016164
2016-06-30 0.007335 0.004222 0.004287 0.007114 0.007393 0.011197
2016-07-31 0.005754 0.001919 0.003668 0.005094 0.005296 0.006397
2016-08-31 0.002685 0.000781 -0.000276 0.002936 0.005055 0.002764
2016-09-30 -0.001896 -0.003229 -0.002394 0.001064 0.002509 0.000696
CT DE FL GA ... SD \
Date ...
1975-01-31 NaN NaN NaN NaN ... NaN
1975-02-28 0.021239 0.001425 0.039388 -0.009028 ... -0.010999
1975-03-31 0.015628 0.002451 0.056374 -0.003834 ... -0.011310
1975-04-30 0.008647 0.005018 0.065361 0.002172 ... -0.011357
1975-05-31 0.002724 0.008529 0.007840 0.003958 ... -0.010412
1975-06-30 -0.001116 0.010055 -0.043885 0.001179 ... -0.007867
1975-07-31 -0.001674 0.008785 -0.035368 -0.003679 ... -0.004989
1975-08-31 -0.000337 0.007286 -0.017616 -0.008539 ... -0.003452
1975-09-30 0.001745 0.005954 -0.004087 -0.011915 ... -0.002712
1975-10-31 0.004244 0.003806 0.004484 -0.009787 ... -0.001718
1975-11-30 0.007516 0.002140 0.007803 -0.002972 ... -0.000190
1975-12-31 0.008675 0.001421 0.004009 0.002209 ... 0.002008
1976-01-31 0.006923 0.000514 -0.001265 0.003500 ... 0.004578
1976-02-29 0.004393 -0.000295 0.000839 0.001320 ... 0.007150
1976-03-31 0.002457 -0.000020 0.016872 -0.000641 ... 0.008946
1976-04-30 0.002034 0.001877 0.036318 0.001793 ... 0.009305
1976-05-31 0.002787 0.002846 0.009652 0.007283 ... 0.008707
1976-06-30 0.004746 0.001415 -0.024069 0.013535 ... 0.007785
1976-07-31 0.006673 -0.000319 -0.017756 0.014534 ... 0.007606
1976-08-31 0.005324 -0.001245 -0.003744 0.007337 ... 0.007708
1976-09-30 0.002606 -0.001044 0.003334 0.000916 ... 0.006175
1976-10-31 0.003049 0.000703 0.003245 -0.002425 ... 0.002887
1976-11-30 0.002315 0.003593 0.001725 -0.003498 ... -0.000179
1976-12-31 -0.001537 0.006204 -0.004916 -0.001914 ... -0.000930
1977-01-31 -0.002656 0.007664 -0.014961 -0.000251 ... 0.000307
1977-02-28 -0.000752 0.007385 -0.020251 0.001693 ... 0.002521
1977-03-31 0.003054 0.004987 0.004020 0.003534 ... 0.005765
1977-04-30 0.010806 0.001699 0.053437 0.005210 ... 0.010098
1977-05-31 0.017851 -0.000667 0.035271 0.006162 ... 0.014050
1977-06-30 0.019841 -0.000769 -0.012415 0.006608 ... 0.016344
... ... ... ... ... ... ...
2014-04-30 0.009594 0.007691 0.013969 0.015138 ... 0.006443
2014-05-31 0.014203 0.009834 0.011410 0.012997 ... 0.006380
2014-06-30 0.010792 0.009351 0.009047 0.011922 ... 0.004771
2014-07-31 0.000539 0.007236 0.004561 0.007628 ... 0.003211
2014-08-31 -0.005375 0.004245 0.002275 0.002263 ... 0.002347
2014-09-30 -0.005596 0.000387 0.004015 -0.000179 ... 0.001231
2014-10-31 -0.004561 -0.003938 0.004301 -0.000327 ... 0.000848
2014-11-30 -0.006476 -0.005877 0.003183 -0.001995 ... 0.000412
2014-12-31 -0.008926 -0.005335 0.003945 -0.002582 ... 0.000447
2015-01-31 -0.006899 -0.003550 0.005954 0.003159 ... 0.002209
2015-02-28 -0.000764 -0.000435 0.010463 0.009067 ... 0.005202
2015-03-31 0.006600 0.003886 0.012604 0.013682 ... 0.008503
2015-04-30 0.011954 0.008222 0.012338 0.014887 ... 0.009299
2015-05-31 0.013254 0.009246 0.014735 0.012133 ... 0.008161
2015-06-30 0.010311 0.005470 0.014391 0.008241 ... 0.006615
2015-07-31 0.004470 0.000732 0.010697 0.004504 ... 0.005144
2015-08-31 -0.003823 -0.000353 0.005353 0.002549 ... 0.003477
2015-09-30 -0.009969 0.001367 0.003488 0.002127 ... 0.002226
2015-10-31 -0.009122 0.003791 0.005909 0.001361 ... 0.001904
2015-11-30 -0.006483 0.004904 0.005297 -0.000466 ... 0.001349
2015-12-31 -0.006159 0.003282 0.002077 0.000388 ... 0.001416
2016-01-31 -0.004727 0.001090 0.002514 0.002734 ... 0.001928
2016-02-29 -0.000252 0.000244 0.009898 0.005964 ... 0.001775
2016-03-31 0.005047 0.001103 0.016246 0.011932 ... 0.002281
2016-04-30 0.009819 0.002226 0.014010 0.017192 ... 0.003860
2016-05-31 0.010971 0.001661 0.011092 0.015178 ... 0.006245
2016-06-30 0.008394 0.000865 0.010329 0.008427 ... 0.008111
2016-07-31 0.003416 0.000809 0.008401 0.003473 ... 0.007540
2016-08-31 -0.002968 0.000139 0.008455 -0.001686 ... 0.006298
2016-09-30 -0.006184 -0.000783 0.006407 -0.003360 ... 0.005171
TN TX UT VT VA WA \
Date
1975-01-31 NaN NaN NaN NaN NaN NaN
1975-02-28 0.001121 0.009515 0.013983 0.009452 0.009873 0.003976
1975-03-31 0.002568 0.017331 0.012436 0.009034 0.007131 0.006157
1975-04-30 0.003949 0.025078 0.009769 0.008132 0.005220 0.007347
1975-05-31 0.004597 0.007815 0.006406 0.007087 0.004359 0.006570
1975-06-30 0.004949 -0.011466 0.001841 0.006366 0.004218 0.006712
1975-07-31 0.004962 -0.007775 -0.002695 0.005384 0.006239 0.007656
1975-08-31 0.005162 -0.000536 -0.004249 0.003750 0.006696 0.005208
1975-09-30 0.006918 0.002511 -0.001916 0.002379 0.002445 0.001049
1975-10-31 0.010398 0.003196 0.005195 0.001616 -0.001438 0.001302
1975-11-30 0.013575 0.006266 0.013523 0.000916 -0.003176 0.006930
1975-12-31 0.012075 0.005988 0.015778 0.000040 -0.003831 0.011112
1976-01-31 0.005664 0.003873 0.014319 -0.000837 -0.002606 0.011490
1976-02-29 -0.000563 0.008634 0.013465 -0.001301 0.002193 0.011900
1976-03-31 -0.002132 0.020545 0.011946 -0.000677 0.007025 0.011858
1976-04-30 0.001092 0.028783 0.010241 0.001465 0.008139 0.010996
1976-05-31 0.002687 0.008719 0.007835 0.004083 0.008256 0.011960
1976-06-30 -0.000049 -0.010487 0.004592 0.006229 0.007015 0.015799
1976-07-31 -0.001673 -0.005189 0.004690 0.007634 0.004653 0.019519
1976-08-31 -0.000497 0.000008 0.006284 0.007928 0.005419 0.016340
1976-09-30 0.000814 0.002397 0.005351 0.007062 0.005507 0.009069
1976-10-31 0.001749 0.005805 0.004978 0.005464 0.003708 0.006204
1976-11-30 0.002772 0.008174 0.007441 0.004071 0.003694 0.008465
1976-12-31 0.004814 0.005264 0.010778 0.003576 0.003188 0.009909
1977-01-31 0.008447 0.004586 0.011917 0.004034 0.002641 0.007310
1977-02-28 0.012185 0.012605 0.012088 0.005103 0.004300 0.007706
1977-03-31 0.014012 0.028938 0.013609 0.006687 0.006722 0.014427
1977-04-30 0.013537 0.043276 0.015321 0.008604 0.007971 0.022433
1977-05-31 0.011839 0.006892 0.015662 0.010525 0.009270 0.023929
1977-06-30 0.011221 -0.025080 0.014984 0.012025 0.010646 0.021523
... ... ... ... ... ... ...
2014-04-30 0.011742 0.013418 0.010471 0.007084 0.011984 0.017899
2014-05-31 0.008496 0.011624 0.007602 0.008477 0.009418 0.014211
2014-06-30 0.005379 0.009632 0.004016 0.006564 0.005874 0.010967
2014-07-31 0.002485 0.006592 0.001427 0.001719 0.000914 0.007382
2014-08-31 -0.000760 0.004815 0.000505 -0.003921 -0.003262 0.001133
2014-09-30 -0.000189 0.003610 0.000119 -0.008030 -0.004753 -0.003018
2014-10-31 0.001054 0.001959 -0.001619 -0.009709 -0.003774 -0.001150
2014-11-30 -0.001313 0.002398 -0.002449 -0.008389 -0.002383 0.002139
2014-12-31 -0.002070 0.002789 0.000809 -0.004870 -0.003002 0.002039
2015-01-31 0.001202 0.003217 0.005579 -0.000582 -0.003726 0.003924
2015-02-28 0.005890 0.007334 0.009983 0.003901 0.000575 0.010867
2015-03-31 0.009376 0.011829 0.012396 0.009015 0.007796 0.016902
2015-04-30 0.011142 0.012168 0.012192 0.013951 0.011274 0.018140
2015-05-31 0.011704 0.011262 0.011080 0.015670 0.010777 0.015733
2015-06-30 0.009043 0.010382 0.008277 0.011808 0.007549 0.012885
2015-07-31 0.004766 0.007111 0.005139 0.005003 0.002702 0.009867
2015-08-31 0.002362 0.001733 0.003653 -0.000689 0.000259 0.005515
2015-09-30 0.001838 0.000611 0.003504 -0.004068 -0.000744 0.002733
2015-10-31 0.001128 0.002529 0.003452 -0.005861 -0.003580 0.003761
2015-11-30 -0.000513 0.001794 0.002457 -0.006417 -0.006005 0.004176
2015-12-31 -0.001215 0.000531 0.002522 -0.005489 -0.005964 0.003028
2016-01-31 0.000914 0.003660 0.004623 -0.003505 -0.001538 0.006454
2016-02-29 0.005002 0.009215 0.006415 -0.001033 0.006663 0.014978
2016-03-31 0.009745 0.009652 0.009969 0.001959 0.012320 0.018933
2016-04-30 0.013301 0.009827 0.014905 0.005881 0.012276 0.017424
2016-05-31 0.011649 0.011944 0.013871 0.008259 0.010556 0.014505
2016-06-30 0.007094 0.009095 0.009026 0.008762 0.006381 0.010737
2016-07-31 0.007519 0.005978 0.007474 0.008609 0.000621 0.008538
2016-08-31 0.010509 0.004110 0.006928 0.007470 -0.000852 0.007041
2016-09-30 0.007367 0.001410 0.006274 0.000160 -0.002344 0.002324
WV WI WY
Date
1975-01-31 NaN NaN NaN
1975-02-28 0.024951 0.014049 0.014385
1975-03-31 0.025352 0.013672 0.015024
1975-04-30 0.025494 0.012090 0.015370
1975-05-31 0.025026 0.009742 0.014691
1975-06-30 0.023322 0.007317 0.013553
1975-07-31 0.020047 0.005569 0.012445
1975-08-31 0.015746 0.004762 0.011048
1975-09-30 0.010486 0.006282 0.009391
1975-10-31 0.004728 0.007590 0.007106
1975-11-30 0.000439 0.005332 0.004870
1975-12-31 -0.001621 0.001889 0.003431
1976-01-31 -0.002052 -0.000015 0.002932
1976-02-29 -0.000880 -0.000625 0.003697
1976-03-31 0.000778 0.000651 0.005250
1976-04-30 0.001106 0.004342 0.007006
1976-05-31 0.000129 0.007615 0.009365
1976-06-30 -0.001207 0.006901 0.012646
1976-07-31 -0.002328 0.004938 0.015265
1976-08-31 -0.002590 0.005293 0.015688
1976-09-30 -0.001684 0.006275 0.015294
1976-10-31 -0.000375 0.005963 0.015232
1976-11-30 0.001089 0.006970 0.014165
1976-12-31 0.003175 0.009096 0.011401
1977-01-31 0.005823 0.010145 0.008856
1977-02-28 0.008283 0.012454 0.007889
1977-03-31 0.010220 0.015210 0.007875
1977-04-30 0.011820 0.014904 0.008310
1977-05-31 0.012054 0.014085 0.009392
1977-06-30 0.010684 0.016753 0.011663
... ... ... ...
2014-04-30 0.004679 0.013899 0.007261
2014-05-31 0.005955 0.013384 0.007681
2014-06-30 0.006451 0.010352 0.006231
2014-07-31 0.006973 0.005073 0.003197
2014-08-31 0.006629 -0.000211 0.000746
2014-09-30 0.003712 -0.002826 0.000168
2014-10-31 -0.001924 -0.004143 0.000859
2014-11-30 -0.006682 -0.007676 0.001354
2014-12-31 -0.006814 -0.009913 0.001254
2015-01-31 -0.002895 -0.004787 0.001547
2015-02-28 0.003117 0.004250 0.002440
2015-03-31 0.009163 0.010648 0.004629
2015-04-30 0.012465 0.014167 0.007408
2015-05-31 0.010837 0.015951 0.009240
2015-06-30 0.005550 0.011472 0.009106
2015-07-31 0.000423 0.004248 0.006195
2015-08-31 -0.003005 0.000101 0.001371
2015-09-30 -0.005343 -0.002201 -0.002505
2015-10-31 -0.006294 -0.001799 -0.004822
2015-11-30 -0.006765 -0.001507 -0.006167
2015-12-31 -0.006923 -0.004811 -0.005400
2016-01-31 -0.005673 -0.004061 -0.002526
2016-02-29 -0.002370 0.003943 0.001145
2016-03-31 0.002911 0.011905 0.004404
2016-04-30 0.007926 0.015031 0.005771
2016-05-31 0.010231 0.015400 0.004622
2016-06-30 0.008410 0.014144 0.003101
2016-07-31 0.004138 0.009143 0.002552
2016-08-31 0.001432 0.003950 0.001786
2016-09-30 -0.000766 0.000837 -0.001462
[501 rows x 50 columns]
In [9]:
HPI_data.plot();
plt.legend().remove(); # ugly
plt.show();
In [ ]:
In [12]:
def grap_initial_state_data_start_pct():
states = state_list();
main_df = pd.DataFrame();
for ab in states:
querry = "FMAC/HPI_" + ab;
df = quandl.get(querry, authtoken = api_key);
df.columns = [ab];
df[ab] = (df[ab] - df[ab][0]) / df[ab][0] * 100.0; # <-------
if main_df.empty:
main_df = df;
else:
main_df = main_df.join(df);
print(main_df.head());
pickle_out = open("./data/fiddy_states.pickle", "wb");
pickle.dump(main_df, pickle_out);
pickle_out.close();
In [13]:
grap_initial_state_data_start_pct();
HPI_data = pd.read_pickle("./data/fiddy_states.pickle");
AL AK AZ AR CA \
Date
1975-01-31 0.000000 0.000000 0.000000 0.000000 0.000000
1975-02-28 0.626500 1.485775 1.688504 0.846192 0.356177
1975-03-31 1.358575 3.006473 3.261346 1.581956 1.575690
1975-04-30 2.254726 4.593530 4.475810 2.183669 3.573196
1975-05-31 3.107829 6.327600 5.139617 2.786248 5.241395
1975-06-30 3.585231 8.184557 5.035190 3.444136 5.987360
1975-07-31 3.502089 10.041682 4.062221 4.024416 6.773494
1975-08-31 2.956561 11.733579 2.489967 4.384871 8.176235
1975-09-30 2.287053 13.207406 0.830264 4.436568 9.724202
1975-10-31 1.937454 14.547916 -0.101833 4.351232 11.144933
1975-11-30 2.169245 15.744312 0.285140 4.481393 12.103889
1975-12-31 3.058008 16.739105 1.531214 4.917757 12.889105
1976-01-31 4.534825 17.538142 2.804864 5.559395 14.021504
1976-02-29 6.253562 18.206577 3.753225 6.434823 15.362166
1976-03-31 7.772889 18.823716 4.286687 7.563406 17.060146
1976-04-30 8.826475 19.427645 4.452694 8.820867 18.964491
1976-05-31 9.417683 20.025020 4.387588 9.967773 20.430328
1976-06-30 9.671872 20.604290 4.251205 10.916821 21.875237
1976-07-31 9.771812 21.099753 4.241496 11.785855 23.757870
1976-08-31 9.782293 21.486621 4.449148 12.623375 25.710721
1976-09-30 9.768887 21.956947 4.784451 13.242979 27.501321
1976-10-31 9.922304 22.684307 5.384709 13.547494 29.343080
1976-11-30 10.377573 23.658539 6.179173 13.749658 31.602483
1976-12-31 10.894791 24.831714 6.732942 14.101041 33.855274
1977-01-31 11.195304 26.088213 7.013949 14.763413 36.187163
1977-02-28 11.356455 27.261568 7.380511 15.732348 39.225118
1977-03-31 11.554973 28.213660 8.194642 16.791279 42.966961
1977-04-30 12.061624 28.941318 9.253028 17.689522 46.668950
1977-05-31 12.909404 29.565088 10.178614 18.400081 50.443362
1977-06-30 14.015250 30.170325 11.326848 19.116112 54.245925
... ... ... ... ... ...
2014-04-30 245.866260 386.571725 406.909280 248.410714 1010.399968
2014-05-31 248.082629 390.263660 409.520856 250.066595 1019.053595
2014-06-30 250.543179 393.308415 411.366816 251.846349 1026.446961
2014-07-31 252.573470 395.293287 412.116878 253.887270 1033.594251
2014-08-31 253.196596 395.818022 411.514053 255.989913 1036.811388
2014-09-30 251.852296 394.765009 411.113183 256.862594 1036.826164
2014-10-31 249.525682 392.510542 413.308323 256.223219 1037.199029
2014-11-30 247.950457 389.907200 417.139234 254.449504 1038.171418
2014-12-31 247.707875 388.144514 419.956850 252.216476 1040.893291
2015-01-31 248.543703 387.803384 422.122543 250.790753 1046.208721
2015-02-28 249.860456 389.024615 425.805025 250.914197 1056.184665
2015-03-31 251.968388 392.151116 430.825008 252.520537 1072.910229
2015-04-30 254.806136 397.117937 436.139035 255.249598 1088.828004
2015-05-31 257.858054 402.994152 440.817778 258.314389 1101.071703
2015-06-30 260.402175 408.202726 444.411921 260.789950 1110.902231
2015-07-31 261.659961 411.501283 447.732580 262.803073 1118.095865
2015-08-31 261.494444 412.939749 451.088256 264.612855 1123.699281
2015-09-30 260.074444 412.853631 454.173784 265.759113 1126.659870
2015-10-31 258.421392 411.736477 455.744013 265.714120 1128.677822
2015-11-30 257.133351 410.776419 456.247469 264.510389 1131.894630
2015-12-31 256.433936 410.052668 457.008713 262.755205 1134.915552
2016-01-31 257.194890 409.352067 459.056946 261.351443 1137.739040
2016-02-29 259.590234 409.346735 464.133109 261.420731 1149.973812
2016-03-31 262.971657 410.675440 471.296531 263.531913 1169.550765
2016-04-30 266.981891 413.274750 477.407709 266.759490 1183.579856
2016-05-31 270.559464 416.299943 480.931993 269.875614 1194.252737
2016-06-30 273.277608 418.479537 483.422309 272.506749 1203.821205
2016-07-31 275.425546 419.474579 485.562537 274.404456 1210.725882
2016-08-31 276.433730 419.880154 485.400915 275.503665 1217.351884
2016-09-30 275.720049 418.201305 483.999395 275.903351 1220.657344
CO CT DE FL GA \
Date
1975-01-31 0.000000 0.000000 0.000000 0.000000 0.000000
1975-02-28 1.159639 2.123926 0.142451 3.938796 -0.902841
1975-03-31 2.299449 3.719898 0.387918 9.798243 -1.282758
1975-04-30 3.359028 4.616778 0.891619 16.974819 -1.068371
1975-05-31 4.226895 4.901787 1.752086 17.891884 -0.676830
1975-06-30 4.946755 4.784686 2.775176 12.718161 -0.559763
1975-07-31 5.441442 4.609283 3.678041 8.731497 -0.925559
1975-08-31 5.424546 4.574008 4.433470 6.816113 -1.771578
1975-09-30 5.052297 4.756528 5.055278 6.379602 -2.941948
1975-10-31 4.902950 5.201152 5.455150 6.856612 -3.891893
1975-11-30 5.437419 5.991798 5.680863 7.690459 -4.177490
1975-12-31 6.502478 6.911271 5.831022 8.122161 -3.965788
1976-01-31 7.666518 7.651467 5.885435 7.985336 -3.629695
1976-02-29 8.734124 8.124430 5.854230 8.075983 -3.502448
1976-03-31 9.760066 8.390129 5.852097 9.899489 -3.564272
1976-04-30 10.661236 8.610553 6.050754 13.890860 -3.391323
1976-05-31 11.255803 8.913303 6.352538 14.990157 -2.687759
1976-06-30 11.607159 9.430170 6.503004 12.222487 -1.370684
1976-07-31 11.761682 10.160434 6.468993 10.229820 0.062795
1976-08-31 11.800039 10.746969 6.336433 9.817070 0.796985
1976-09-30 12.000619 11.035605 6.225393 10.183240 0.889276
1976-10-31 12.753227 11.374159 6.300095 10.540737 0.644578
1976-11-30 14.098768 11.632012 6.682036 10.731391 0.292502
1976-12-31 15.488586 11.460469 7.343885 10.187048 0.100579
1977-01-31 16.533181 11.164393 8.166584 8.538523 0.075448
1977-02-28 17.409021 11.080764 8.965378 6.340539 0.244911
1977-03-31 18.385935 11.419992 9.508776 6.768040 0.599215
1977-04-30 19.754813 12.624032 9.694874 12.473413 1.123316
1977-05-31 21.511448 14.634454 9.621706 16.440433 1.746434
1977-06-30 23.577958 16.908970 9.537372 14.994788 2.418784
... ... ... ... ... ...
2014-04-30 596.172025 432.579005 437.283492 382.003862 263.488527
2014-05-31 604.954587 440.143425 442.567212 387.503439 268.212962
2014-06-30 610.798650 445.972709 447.640849 391.914051 272.602709
2014-07-31 613.822772 446.267156 451.603760 394.157452 275.444880
2014-08-31 616.488966 443.330891 453.945559 395.281891 276.294342
2014-09-30 619.365004 440.290255 454.160192 397.270223 276.227034
2014-10-31 622.226623 437.826237 451.978115 399.409111 276.103954
2014-11-30 624.765636 434.343144 448.734225 400.998500 275.353623
2014-12-31 627.425690 429.573354 445.806958 402.974697 274.384404
2015-01-31 633.200319 425.919731 443.869614 405.969438 275.566987
2015-02-28 643.947460 425.517771 443.632909 411.263354 278.972394
2015-03-31 657.185251 428.986407 445.745319 417.707260 284.157379
2015-04-30 670.349950 435.310142 450.232406 424.094719 289.876222
2015-05-31 682.211684 442.404902 455.319695 431.817190 294.606553
2015-06-30 691.150245 447.997447 458.357147 439.470393 297.858406
2015-07-31 697.117846 450.446998 458.766143 445.241002 299.650176
2015-08-31 699.673498 448.342724 458.568981 448.159761 300.668951
2015-09-30 700.225879 442.876392 459.332435 450.071764 301.521307
2015-10-31 700.364544 437.924368 461.452741 453.322208 302.067586
2015-11-30 699.090706 434.436872 464.206110 456.252884 301.880191
2015-12-31 700.078379 431.145331 466.057702 457.408338 302.035963
2016-01-31 707.104288 428.634406 466.674748 458.809408 303.135051
2016-02-29 719.130116 428.500988 466.812959 464.340751 305.539534
2016-03-31 734.377344 431.168168 467.438339 473.508967 310.378387
2016-04-30 750.021408 436.383717 468.701478 481.543671 317.433515
2016-05-31 763.761039 442.268284 469.645983 487.994280 323.769344
2016-06-30 773.432389 446.820339 470.138873 494.067904 327.340363
2016-07-31 779.019676 448.688525 470.599933 499.058597 328.824522
2016-08-31 781.449563 447.060055 470.679280 504.123480 328.101651
2016-09-30 782.063211 443.677216 470.232644 507.994365 326.663375
... SD TN TX UT \
Date ...
1975-01-31 ... 0.000000 0.000000 0.000000 0.000000
1975-02-28 ... -1.099859 0.112132 0.951488 1.398290
1975-03-31 ... -2.218400 0.369186 2.701039 2.659262
1975-04-30 ... -3.328868 0.765570 5.276570 3.662119
1975-05-31 ... -4.335377 1.228808 6.099286 4.326186
1975-06-30 ... -5.087934 1.729811 4.882747 4.518227
1975-07-31 ... -5.561449 2.234642 4.067261 4.236568
1975-08-31 ... -5.887493 2.762383 4.011509 3.793679
1975-09-30 ... -6.142713 3.473322 4.272719 3.594764
1975-10-31 ... -6.303949 4.549241 4.606024 4.132904
1975-11-30 ... -6.321712 5.968446 5.261535 5.541073
1975-12-31 ... -6.133645 7.247988 5.891854 7.206302
1976-01-31 ... -5.703921 7.855456 6.301948 8.741390
1976-02-29 ... -5.029670 7.794686 7.219763 10.205637
1976-03-31 ... -4.180050 7.564903 9.422551 11.522144
1976-04-30 ... -3.288468 7.682381 12.572041 12.664210
1976-05-31 ... -2.446400 7.971708 13.553547 13.546927
1976-06-30 ... -1.686976 7.966427 12.362672 14.068304
1976-07-31 ... -0.939214 7.785847 11.779576 14.603241
1976-08-31 ... -0.175610 7.732292 11.780492 15.323371
1976-09-30 ... 0.440792 7.820007 12.048459 15.940496
1976-10-31 ... 0.730716 8.008585 12.698906 16.517621
1976-11-30 ... 0.712670 8.307936 13.620130 17.384578
1976-12-31 ... 0.619028 8.829372 14.218217 18.649758
1977-01-31 ... 0.649893 9.748620 14.742006 20.063718
1977-02-28 ... 0.903622 11.085934 16.188283 21.515009
1977-03-31 ... 1.485347 12.642463 19.550528 23.168666
1977-04-30 ... 2.510153 14.167301 24.724240 25.055691
1977-05-31 ... 3.950439 15.518973 25.583865 27.014341
1977-06-30 ... 5.649372 16.815227 22.434240 28.917579
... ... ... ... ... ...
2014-04-30 ... 288.548074 309.607919 358.514195 489.404236
2014-05-31 ... 291.026840 313.087905 363.844133 493.884940
2014-06-30 ... 292.892306 315.310006 368.312081 496.269766
2014-07-31 ... 294.153966 316.341851 371.399166 497.120501
2014-08-31 ... 295.079102 316.025230 373.668731 497.422217
2014-09-30 ... 295.565515 315.946803 375.378778 497.493152
2014-10-31 ... 295.900764 316.385181 376.310155 496.525666
2014-11-30 ... 296.063707 315.838588 377.452510 495.064546
2014-12-31 ... 296.240942 314.977695 378.784349 495.545772
2015-01-31 ... 297.116166 315.476477 380.324786 498.868147
2015-02-28 ... 299.181776 317.923703 383.847295 504.846369
2015-03-31 ... 302.575947 321.841991 389.570965 512.344062
2015-04-30 ... 306.319430 326.542355 395.528010 519.809863
2015-05-31 ... 309.635533 331.534460 401.108652 526.677655
2015-06-30 ... 312.345085 335.436806 406.310999 531.864809
2015-07-31 ... 314.466106 337.512131 409.911550 535.112096
2015-08-31 ... 315.907077 338.545441 410.795401 537.432410
2015-09-30 ... 316.832790 339.351667 411.107680 539.665754
2015-10-31 ... 317.626583 339.847376 412.400021 541.873769
2015-11-30 ... 318.189757 339.621588 413.319099 543.450762
2015-12-31 ... 318.781810 339.087638 413.591667 545.073803
2016-01-31 ... 319.589272 339.488864 415.471255 548.056161
2016-02-29 ... 320.334184 341.687130 420.221176 552.213235
2016-03-31 ... 321.293010 345.991400 425.242406 558.714975
2016-04-30 ... 322.919296 351.923385 430.403954 568.533166
2016-05-31 ... 325.560470 357.187936 436.738910 577.806121
2016-06-30 ... 329.012302 360.431254 441.620726 583.923828
2016-07-31 ... 332.246903 363.893335 444.858668 589.035742
2016-08-31 ... 334.969179 368.768422 447.098030 593.809269
2016-09-30 ... 337.218231 372.221876 447.869345 598.162055
VT VA WA WV WI \
Date
1975-01-31 0.000000 0.000000 0.000000 0.000000 0.000000
1975-02-28 0.945247 0.987288 0.397561 2.495069 1.404920
1975-03-31 1.857227 1.707474 1.015723 5.093474 2.791371
1975-04-30 2.685578 2.238392 1.757887 7.772685 4.034165
1975-05-31 3.413295 2.684036 2.426439 10.469784 5.047628
1975-06-30 4.071590 3.117159 3.113941 13.046164 5.816307
1975-07-31 4.631886 3.760493 3.903406 15.312434 6.405591
1975-08-31 5.024287 4.455311 4.444552 17.128174 6.912258
1975-09-30 5.274156 4.710664 4.554098 18.356342 7.583841
1975-10-31 5.444302 4.560089 4.690224 18.915894 8.400400
1975-11-30 5.540865 4.228007 5.415746 18.968063 8.978359
1975-12-31 5.545064 3.828741 6.587080 18.775221 9.184256
1976-01-31 5.456731 3.558213 7.811744 18.531543 9.182637
1976-02-29 5.319519 3.785323 9.094661 18.427289 9.114429
1976-03-31 5.248234 4.514428 10.388287 18.519463 9.185484
1976-04-30 5.402452 5.365034 11.602146 18.650574 9.659574
1976-05-31 5.832834 6.234939 12.936907 18.665876 10.494671
1976-06-30 6.492038 6.980198 14.721205 18.522646 11.257141
1976-07-31 7.304997 7.478024 16.960415 18.246701 11.806514
1976-08-31 8.155671 8.060447 18.871499 17.940432 12.398252
1976-09-30 8.919493 8.655483 19.949582 17.741795 13.103498
1976-10-31 9.514585 9.058338 20.693776 17.697603 13.777959
1976-11-30 9.960440 9.461216 21.715477 17.825750 14.570996
1976-12-31 10.353621 9.810187 22.921525 18.199802 15.613092
1977-01-31 10.798753 10.100165 23.820062 18.888071 16.785958
1977-02-28 11.364105 10.573548 24.774259 19.872848 18.240366
1977-03-31 12.108834 11.316854 26.574337 21.098002 20.038816
1977-04-30 13.073388 12.204208 29.413775 22.529433 21.827885
1977-05-31 14.263468 13.244328 32.510494 24.006401 23.543853
1977-06-30 15.637513 14.449912 35.362500 25.331314 25.613549
... ... ... ... ... ...
2014-04-30 504.420103 505.048299 770.625368 233.712623 324.803941
2014-05-31 509.543659 510.746397 782.998179 235.699798 330.489626
2014-06-30 513.544643 514.334048 792.681677 237.865236 334.946121
2014-07-31 514.599194 514.895515 799.271386 240.221206 337.152747
2014-08-31 512.189046 512.889871 800.289948 242.476496 337.060708
2014-09-30 507.273136 509.976829 797.573113 243.747829 335.825595
2014-10-31 501.377350 507.674666 796.541074 243.086433 334.019785
2014-11-30 496.332644 506.226395 798.458571 240.793911 330.688464
2014-12-31 493.428652 504.406720 800.290783 238.471701 326.419144
2015-01-31 493.083171 502.154617 803.823467 237.491957 324.377915
2015-02-28 495.396982 502.500981 813.645225 238.543861 326.181687
2015-03-31 500.764435 507.197803 829.088039 241.645820 330.719741
2015-04-30 509.145529 514.043592 845.941626 245.904464 336.821572
2015-05-31 518.690691 520.661394 860.823929 249.653184 343.789138
2015-06-30 525.996168 525.346681 873.204263 251.593704 348.880286
2015-07-31 529.128323 527.036425 882.807285 251.742479 350.787097
2015-08-31 528.694709 527.198998 888.227410 250.685370 350.832834
2015-09-30 526.137079 526.732496 890.927922 248.811583 349.840461
2015-10-31 522.467177 524.488922 894.654488 246.616000 349.031360
2015-11-30 518.472561 520.738982 898.808123 244.271305 348.354613
2015-12-31 515.077850 517.037002 901.832337 241.888020 346.197506
2016-01-31 512.922018 516.088168 908.298531 239.948443 344.385518
2016-02-29 512.288714 520.193418 923.400492 239.142864 346.137649
2016-03-31 513.488225 527.834316 942.776448 240.130035 351.449019
2016-04-30 517.096104 535.541641 960.945983 242.826071 358.234846
2016-05-31 522.192972 542.250153 976.335026 246.333355 365.291608
2016-06-30 527.644542 546.348145 987.891996 249.246015 371.872553
2016-07-31 533.048177 546.749730 997.180682 250.691320 376.186779
2016-08-31 537.776947 546.198870 1004.905467 251.193646 378.067567
2016-09-30 537.879253 544.683876 1007.473323 250.924579 378.467647
WY
Date
1975-01-31 0.000000
1975-02-28 1.438502
1975-03-31 2.962512
1975-04-30 4.545011
1975-05-31 6.080901
1975-06-30 7.518640
1975-07-31 8.856685
1975-08-31 10.059371
1975-09-30 11.092890
1975-10-31 11.882282
1975-11-30 12.427131
1975-12-31 12.812901
1976-01-31 13.143676
1976-02-29 13.561963
1976-03-31 14.158162
1976-04-30 14.957932
1976-05-31 16.034505
1976-06-30 17.501929
1976-07-31 19.295575
1976-08-31 21.167135
1976-09-30 23.020224
1976-10-31 24.894122
1976-11-30 26.663306
1976-12-31 28.107359
1977-01-31 29.241933
1977-02-28 30.261494
1977-03-31 31.287244
1977-04-30 32.378251
1977-05-31 33.621513
1977-06-30 35.179892
... ...
2014-04-30 453.643224
2014-05-31 457.895779
2014-06-30 461.371894
2014-07-31 463.166557
2014-08-31 463.586895
2014-09-30 463.681686
2014-10-31 464.165816
2014-11-30 464.929590
2014-12-31 465.638007
2015-01-31 466.513228
2015-02-28 467.895647
2015-03-31 470.524453
2015-04-30 474.750730
2015-05-31 480.061628
2015-06-30 485.343765
2015-07-31 488.969853
2015-08-31 489.777344
2015-09-30 488.299907
2015-10-31 485.463358
2015-11-30 481.853067
2015-12-31 478.710814
2016-01-31 477.248947
2016-02-29 477.910085
2016-03-31 480.455336
2016-04-30 483.805067
2016-05-31 486.503387
2016-06-30 488.322052
2016-07-31 489.823421
2016-08-31 490.876740
2016-09-30 490.012701
[501 rows x 50 columns]
In [14]:
HPI_data.plot();
plt.legend().remove(); # ugly
plt.show();
In [21]:
def HPI_Benchmark():
df = quandl.get("FMAC/HPI_USA", authtoken = api_key);
df.columns = ["US"];
df["US"] = (df["US"] - df["US"][0]) / df["US"][0] * 100.0; # <-------
return df;
fig = plt.figure();
ax1 = plt.subplot2grid((1, 1), (0, 0));
benchmark = HPI_Benchmark();
HPI_data.plot(ax = ax1);
benchmark.plot(ax = ax1, color = "k", linewidth = 10);
plt.legend().remove();
plt.show();
<matplotlib.figure.Figure at 0x7ffab2e54690>
In [23]:
HPI_state_correlation = HPI_data.corr();
print(HPI_state_correlation.head());
AL AK AZ AR CA CO CT \
AL 1.000000 0.946418 0.937592 0.995119 0.942310 0.965541 0.953146
AK 0.946418 1.000000 0.910237 0.967983 0.921818 0.960382 0.884600
AZ 0.937592 0.910237 1.000000 0.936454 0.976776 0.919486 0.917688
AR 0.995119 0.967983 0.936454 1.000000 0.945774 0.976929 0.944746
CA 0.942310 0.921818 0.976776 0.945774 1.000000 0.938870 0.942463
DE FL GA ... SD TN TX \
AL 0.982824 0.929395 0.978346 ... 0.976382 0.994551 0.940841
AK 0.938068 0.900713 0.899525 ... 0.974957 0.958200 0.980514
AZ 0.948801 0.994380 0.949167 ... 0.906742 0.932276 0.896961
AR 0.977921 0.928081 0.968410 ... 0.986937 0.995595 0.962400
CA 0.967911 0.985869 0.951573 ... 0.930504 0.945515 0.917953
UT VT VA WA WV WI WY
AL 0.979483 0.978591 0.975277 0.985060 0.982097 0.991161 0.946695
AK 0.963944 0.956485 0.962226 0.958805 0.972376 0.930831 0.987373
AZ 0.936448 0.924615 0.958568 0.956881 0.919514 0.935717 0.909381
AR 0.982990 0.981747 0.979944 0.984041 0.990395 0.986244 0.964090
CA 0.928609 0.956815 0.979699 0.965064 0.936562 0.945139 0.919537
[5 rows x 50 columns]
In [24]:
print(HPI_state_correlation.describe());
AL AK AZ AR CA CO \
count 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000
mean 0.969390 0.939254 0.932725 0.971255 0.945922 0.954348
std 0.026771 0.043011 0.028004 0.026940 0.024992 0.030143
min 0.872598 0.771111 0.846203 0.861622 0.870084 0.838751
25% 0.955706 0.929268 0.917464 0.965063 0.931971 0.939007
50% 0.977250 0.949213 0.934992 0.978021 0.945327 0.960939
75% 0.986240 0.963171 0.947947 0.989024 0.964504 0.975201
max 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
CT DE FL GA ... SD \
count 50.000000 50.000000 50.000000 50.000000 ... 50.000000
mean 0.931882 0.963441 0.929353 0.952846 ... 0.959597
std 0.039163 0.028701 0.031940 0.027883 ... 0.036501
min 0.823583 0.864550 0.832715 0.849939 ... 0.809349
25% 0.906786 0.951062 0.910937 0.944930 ... 0.951716
50% 0.938386 0.970821 0.928931 0.956737 ... 0.970435
75% 0.958892 0.980512 0.950018 0.970793 ... 0.983220
max 1.000000 1.000000 1.000000 1.000000 ... 1.000000
TN TX UT VT VA WA \
count 50.000000 50.000000 50.000000 50.000000 50.000000 50.000000
mean 0.970207 0.934608 0.957006 0.962476 0.966222 0.968089
std 0.027137 0.041258 0.032387 0.031305 0.026768 0.024518
min 0.856773 0.790516 0.848739 0.838633 0.846263 0.871264
25% 0.959443 0.918030 0.942818 0.956373 0.961856 0.958991
50% 0.976100 0.941914 0.962631 0.970180 0.974227 0.974781
75% 0.987883 0.962254 0.981117 0.979128 0.979089 0.983281
max 1.000000 1.000000 1.000000 1.000000 1.000000 1.000000
WV WI WY
count 50.000000 50.000000 50.000000
mean 0.963197 0.964652 0.938707
std 0.033389 0.026356 0.045041
min 0.829693 0.882989 0.767608
25% 0.954276 0.954982 0.920940
50% 0.975255 0.970017 0.950024
75% 0.985194 0.984698 0.964382
max 1.000000 1.000000 1.000000
[8 rows x 50 columns]
In [ ]:
Content source: shevkunov/workout
Similar notebooks: