Python Forum
Properly Formatting Pandas Display
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Properly Formatting Pandas Display
#2
Hi All! I got the solution to my problem, it amounted to directly passing values obtained in positions['GOOG'], portfolio['positions'], portfolio['cash'] and portfolio['total']directly to the data frame as follows (with a renaming of the columns):
backtest_result = pd.DataFrame({"Signal": positions['GOOG'],
                       "Price Paid": portfolio['positions'],
                         "Position Value": portfolio['cash'], "PnL": portfolio['total']})
Reworked -and working- version of code:
from pandas_datareader import data
import numpy as np
import pandas as pd
start_date = '2014-01-01'
end_date = '2018-01-01'
data_values = data.DataReader('GOOG', 'yahoo', start_date, end_date)

data_signal = pd.DataFrame(index=data_values.index)
data_signal['price'] = data_values['Adj Close']
data_signal['daily_difference'] = data_signal['price'].diff()
data_signal['signal'] = 0.0
data_signal['signal'][:] = np.where(data_signal['daily_difference'][:] > 0, 1.0, 0.0)

data_signal['positions'] = data_signal['signal'].diff()

# Set the initial capital
initial_capital= float(10000.0)


positions = pd.DataFrame(index=data_signal.index).fillna(0.0)
portfolio = pd.DataFrame(index=data_signal.index).fillna(0.0)


positions['GOOG'] = data_signal['signal']
portfolio['positions'] = (positions.multiply(data_signal['price'], axis=0))
portfolio['cash'] = initial_capital - (positions.diff().multiply(data_signal['price'], axis=0)).cumsum()
portfolio['total'] = portfolio['positions'] + portfolio['cash']

pd.set_option("display.max_rows", None, "display.max_columns", None)
backtest_result = pd.DataFrame({"Signal": positions['GOOG'],
                       "Price Paid": portfolio['positions'],
                         "Position Value": portfolio['cash'], "PnL": portfolio['total']})

print(backtest_result)
Reply


Messages In This Thread
Properly Formatting Pandas Display - by eagle - Apr-02-2020, 06:49 PM
RE: Properly Formatting Pandas Display - by eagle - Apr-02-2020, 10:44 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  python pandas to html with formatting slangswinger 0 1,366 Mar-24-2020, 05:38 PM
Last Post: slangswinger
  Is there any way to properly load fixed width file into a dataframe using Pandas? vicky53 1 3,097 Mar-29-2019, 06:04 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

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