Python Forum
Stock Return calculation problem
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Stock Return calculation problem
#11
Intuition is good, not proof. I wrote a little program to grab the opening and closing stock prices for the entire period. From this I computed a percent change based on the period opening price and period closing price (first day and last day).
import pandas_datareader as web
import pandas as pd

portfolio = {
    "BRK-B": 0.2,
    "AMZN": 0.3,
    "AAPL": 0.1,
    "NFLX": 0.2,
    "GOOG": 0.2,
}


def get_price_info(portfolio, start, end):
    data = []
    for ticker in portfolio:
        stock = web.get_data_yahoo(ticker, start=start, end=end)
        data.append([ticker, stock["Open"][0], stock["Close"][-1]])
    return pd.DataFrame(data, columns=["Stock", "Open", "Close"])


df = get_price_info(portfolio, "2013-01-01", "2014-01-01")
df["PCT Change"] = ((df["Close"] / df["Open"]) - 1) * 100
print(df)

print("\n Percent Change", df["PCT Change"].mean())
Output:
Stock Open Close PCT Change 0 BRK-B 91.320000 118.559998 29.829170 1 AMZN 12.804000 19.939501 55.728686 2 AAPL 19.779285 20.036428 1.300062 3 NFLX 13.601429 52.595715 286.692565 4 GOOG 17.918339 27.913124 55.779642 Percent Change 85.86602506112823
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Dataframe mean calculation problem: do we have to loop? sparkt 1 2,172 Aug-28-2020, 02:41 PM
Last Post: sparkt
  Any suggestions to improve BuySell stock problem efficiency? mrapple2020 0 1,362 May-13-2020, 06:19 PM
Last Post: mrapple2020
  Problem with simple 3D Vektor calculation Pythocodras 0 1,705 Dec-11-2019, 07:18 PM
Last Post: Pythocodras
  Matrix Calculation Problem arshad 4 2,630 Nov-04-2019, 03:48 PM
Last Post: baquerik
  Pass variable script return twice output problem Faruk 8 4,382 Dec-26-2018, 11:57 AM
Last Post: Faruk
  problem with function return value ujjwalrathod007 9 23,296 Sep-23-2016, 03:02 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020