import pandas as pd
import yfinance as yf
import matplotlib.pyplot as plt
import plotly.graph_objects as go
import numpy as np
import warnings
warnings.filterwarnings("ignore")
def generate(symbol):
symbol = yf.Ticker(symbol)
df = symbol.history(period="max")
df['change'] = (df['Close'].diff().bfill()*100 / df['Close']).astype(float)
df['Date'] = df.index
df['Date_abs'] = df['Date'].astype(int)
df = df[df.Close != 0]
return df
copper = generate('HG=F')[['Date', 'Close']].rename(columns={'Close': 'Close_Copper'}).reset_index(drop=True)
usd_clp = generate('CLP=X')[['Date', 'Close']].rename(columns={'Close': 'Close_CLP'}).reset_index(drop=True)
copper
def join_dfs(left_df, right_df):
result = pd.merge(left_df, right_df, on='Date', how='inner')
result = result.sort_values('Date')
return result
df = join_dfs(copper, usd_clp)
df = df[df['Close_CLP']>10]
df['Copper in CLP'] = df['Close_Copper'] * df['Close_CLP']
df = df.rename(columns={'Close_Copper': 'Copper', 'Close_CLP': 'USD in CLP'})
df
Copper in CLP showed a constant trend between 2006 and 2020, afterwards the higher exchange rate and Higher Copper prices have raised the Copper/CLP to unseen values. This is positive news for Chile's economy as the metal is the biggest export.
import plotly.express as px
import pandas as pd
df = df[df['Date']>'2000-01-01']
df['Date'] = pd.to_datetime(df['Date'])
df['Year'] = df['Date'].dt.year
df.index = df['Date']
df = df.resample('Y').mean()
df['Date'] = df.index
fig = px.line(df, x="USD in CLP", y="Copper", text="Year")
fig.update_traces(textposition="top left")
fig.show()