Spaces:
Runtime error
Runtime error
| import numpy as np | |
| #test | |
| import streamlit as st | |
| def buy_and_hold(init_val, symbol_closes): | |
| shares = init_val/symbol_closes[0] | |
| trade_val = shares*symbol_closes[-1] | |
| return trade_val | |
| def buy_rule(init_value, transact_dates, transact_percents, dates, symbol_closes): | |
| close_values = [symbol_closes[dates.index(transact_date)] for transact_date in transact_dates] | |
| wallet = init_value | |
| shares = 0.0 | |
| for close_value, transact_percent in zip(close_values, transact_percents): | |
| is_buy = transact_percent > 0 | |
| if is_buy: | |
| transact_val = wallet*transact_percent/100 | |
| transact_shares = transact_val/close_value | |
| wallet -= transact_val | |
| shares += transact_shares | |
| # st.write(f"buy: R{transact_val} = {transact_shares}shares. Remaining: R{wallet} and {shares}shares") | |
| else: | |
| transact_shares = shares*-transact_percent/100 | |
| transact_val = transact_shares*close_value | |
| shares -= transact_shares | |
| wallet += transact_val | |
| # st.write(f"sell: R{transact_val} = {transact_shares}shares. Remaining: R{wallet} and {shares}shares") | |
| share_value = shares*symbol_closes[-1] | |
| return wallet + share_value |