Last active
January 18, 2019 04:08
-
-
Save atyrachma/e56b828a2ce3c3b2f9249f698292aa41 to your computer and use it in GitHub Desktop.
JDS-Stockprices-aty
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import pandas as pd | |
import numpy as np | |
class StockPrices: | |
# param prices dict of string to list. A dictionary containing the tickers of the stocks, and each tickers daily prices. | |
# returns list of strings. A list containing the tickers of the two most correlated stocks. | |
@staticmethod | |
def most_corr(prices): | |
prices = pd.DataFrame.from_dict(prices) | |
korel = prices.pct_change().corr() | |
korel = korel.replace(1,0) | |
makskor = np.max(korel) | |
name = [] | |
for k in makskor.index.values: | |
if(makskor[k] == makskor.max()): | |
name.append(k) | |
return name | |
#For example, with the parameters below the function should return ['FB', 'MSFT']. | |
prices = { | |
'GOOG' : [ | |
742.66, 738.40, 738.22, 741.16, | |
739.98, 747.28, 746.22, 741.80, | |
745.33, 741.29, 742.83, 750.50 | |
], | |
'FB' : [ | |
108.40, 107.92, 109.64, 112.22, | |
109.57, 113.82, 114.03, 112.24, | |
114.68, 112.92, 113.28, 115.40 | |
], | |
'MSFT' : [ | |
55.40, 54.63, 54.98, 55.88, | |
54.12, 59.16, 58.14, 55.97, | |
61.20, 57.14, 56.62, 59.25 | |
], | |
'AAPL' : [ | |
106.00, 104.66, 104.87, 105.69, | |
104.22, 110.16, 109.84, 108.86, | |
110.14, 107.66, 108.08, 109.90 | |
] | |
} | |
print(StockPrices.most_corr(prices)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment