Candlestick (feito através do ficheiro em ipynb)


! pip install yfinance

import pandas as pd

from pandas_datareader import data as pdr

import yfinance as yfin

import matplotlib.pyplot as plt

yfin.pdr_override()

 



assets = ['WMT']

df = pdr.DataReader(assets, data_source='yahoo', start='2014-01-01')

df.tail()

 



# Gráfico OHLC

!pip install plotly==5.2.1

import plotly.graph_objects as go

fig = go.Figure(go.Candlestick(x=df.index,

  open=df['Open'],

  high=df['High'],

  low=df['Low'],

  close=df['Close']))

fig.show()

 



#remover o controle deslizante de intervalo

fig.update_layout(xaxis_rangeslider_visible=False)



# esconder fins de semana

fig.update_xaxes(rangebreaks=[dict(bounds=["sat""mon"])])



# remover todas as datas vazias

# construir uma linha do tempo completa da data de início até a data de término

dt_all = pd.date_range(start=df.index[0],end=df.index[-1])

# recuperar as datas que ESTÃO no conjunto de dados original

dt_obs = [d.strftime("%Y-%m-%d"for d in pd.to_datetime(df.index)]

# definir datas com valores ausentes

dt_breaks = [d for d in dt_all.strftime("%Y-%m-%d").tolist() if not d in dt_obs]

fig.update_xaxes(rangebreaks=[dict(values=dt_breaks)])



# adicionar médias móveis do df

df['MA20'] = df['Close'].rolling(window=20).mean()

df['MA5'] = df['Close'].rolling(window=5).mean()



# Adicionar as linhas médias móveis 

fig.add_trace(go.Scatter(x=df.index, 

                         y=df['MA5'], 

                         opacity=0.7

                         line=dict(color='blue', width=2), 

                         name='MA 5'))

fig.add_trace(go.Scatter(x=df.index, 

                         y=df['MA20'], 

                         opacity=0.7

                         line=dict(color='orange', width=2), 

                         name='MA 20'))



fig = go.Figure()

# add OHLC trace

fig.add_trace(go.Candlestick(x=df.index,

                             open=df['Open'],

                             high=df['High'],

                             low=df['Low'],

                             close=df['Close'], 

                             showlegend=False))

# add moving average traces

fig.add_trace(go.Scatter(x=df.index, 

                         y=df['MA5'], 

                         opacity=0.7

                         line=dict(color='blue', width=2), 

                         name='MA 5'))

fig.add_trace(go.Scatter(x=df.index, 

                         y=df['MA20'], 

                         opacity=0.7

                         line=dict(color='orange', width=2), 

                         name='MA 20'))

# ocultar datas sem valores

fig.update_xaxes(rangebreaks=[dict(values=dt_breaks)])

# remover controle deslizante de intervalo

fig.update_layout(xaxis_rangeslider_visible=False)

# adicionar título do gráfico

fig.update_layout(title="Wallmarket"

















Comentários

Mensagens populares deste blogue

Criar Cartões de Visita

12 signos egípcios

Calcular a percentagem de ocupação