Aula 25 - Introdução à Cadeia de Markov - Python para Finanças Quantitativas

Outspoken Market
20 Jan 202419:38

Summary

TLDRThe video script introduces viewers to the application of Markov Chains in trading strategies, specifically within the context of financial markets. The presenter, Leandro Guerra, guides the audience through the process of using historical data to predict market trends and make informed trading decisions. He emphasizes the importance of understanding the underlying concepts, such as state transitions and probabilities, rather than just coding. The video showcases practical examples using Python and demonstrates how adjusting parameters like the target return and the number of trades can significantly impact the outcomes. The presenter encourages viewers to experiment with different settings and to complement their trading strategies with risk management for improved results.

Takeaways

  • 📈 The video is a Python for Finances course lesson focusing on using Markov chains for trading strategies.
  • 👨‍🏫 The instructor, Leandro Guerra, emphasizes the importance of understanding the introductory Markov chains concepts before proceeding.
  • 🔢 Data from the BOVESPA index from 2012 to 2024 is used to calculate returns and establish a 52-week moving average.
  • 📊 Three states of market behavior are defined: increasing, decreasing, and stable, based on 1% thresholds relative to the moving average.
  • 🤖 A classification function is created to categorize returns into the three defined states: increase, decrease, or stable.
  • 🔄 A transition dictionary is established to calculate the probabilities of moving from one state to another.
  • 📈 The Markov chain's fundamental concept is utilized to predict the next state based on current and previous states' probabilities.
  • 📝 The script demonstrates the application of the Markov chain model on the entire dataset and compares it with a simple mean reversion strategy.
  • 💡 The lesson highlights the importance of not just coding but also understanding the underlying concepts and logic of the strategies being implemented.
  • 🚀 The video showcases the effectiveness of the Markov chain strategy, achieving an 18.884% return in a year with minimal trades.
  • 📌 The instructor encourages viewers to experiment with different parameters, such as the moving average period and the threshold for state classification, to optimize the trading strategy.

Q & A

  • What is the main topic of the video?

    -The main topic of the video is the application of Markov Chains in trading, specifically within the context of financial data analysis using Python.

  • Who is the speaker of the video?

    -The speaker of the video is Leandro Guerra, who is teaching a course on Python for Finance.

  • What is the significance of the 'aula 25' mentioned in the script?

    -The 'aula 25' refers to the 25th lesson in the Python for Finance course, where the focus is on demonstrating the use of Markov Chains for trading strategies.

  • What is the role of the 'ibov' in the script?

    -The 'ibov' is used as an example dataset in the script, representing the Brazilian stock market index, to illustrate the application of Markov Chains in financial analysis.

  • How many states did Leandro Guerra define for the Markov Chain model in this trading strategy?

    -Leandro Guerra defined three states for the Markov Chain model: increase, decrease, and stable.

  • What is the purpose of calculating the transition probabilities in the Markov Chain?

    -The purpose of calculating the transition probabilities is to understand the likelihood of moving from one state to another, which can be used to make informed trading decisions based on the predicted market behavior.

  • What is the significance of the 1% threshold mentioned in the script?

    -The 1% threshold is used to define the states of increase and decrease in the Markov Chain model. If the return is above 1%, it is considered an increase; if it is below -1%, it is considered a decrease; and if it is between -1% and 1%, it is considered stable.

  • How does the speaker suggest using the Markov Chain model for trading decisions?

    -The speaker suggests using the transition probabilities derived from the Markov Chain model to identify patterns and make trading decisions based on the predicted behavior of the market, such as buying when the market is expected to revert to the mean.

  • What is the outcome of applying the Markov Chain trading strategy to the 'ibov' data in the video?

    -The outcome of applying the Markov Chain trading strategy to the 'ibov' data resulted in an 18.884% return after operational costs, demonstrating the effectiveness of the strategy in generating profits.

  • How does the speaker emphasize the importance of understanding the code in the video?

    -The speaker emphasizes that understanding the code is crucial for effectively applying the Markov Chain model in trading strategies, as it allows traders to make informed decisions based on the calculated transition probabilities and states.

  • What is the speaker's advice for those who want to further explore the content of the video?

    -The speaker advises viewers to download the provided code, study it, and apply it to different scenarios to enhance their understanding of the Markov Chain model and its application in trading.

Outlines

00:00

📚 Introduction to Markov Chains in Python for Finance

This paragraph introduces the viewer to a Python course focused on quantitative finance. The speaker, Leandro Guerra, welcomes viewers to lesson 25 and sets the stage for teaching how to use Markov Chains for trading. He emphasizes the importance of understanding the previous lesson on Markov Chains and provides a brief overview of the approach he will take, highlighting its effectiveness and ease of understanding. Leandro also encourages viewers to share their thoughts and engage with the content, promoting interaction within the community.

05:01

📈 Data Collection and Markov Chain Application

In this segment, the speaker delves into the practical application of Markov Chains for trading by starting with data collection from the IBOV index from 2012 to 2024. He explains the process of calculating returns for three different periods and setting up a 52-week moving average. The concept of states in Markov Chains is introduced, with three possible states defined: increasing, decreasing, and stable returns. The speaker then explains how to calculate the transition probabilities between these states, which is crucial for making trading decisions based on the Markov Chain model.

10:02

🔢 Probabilities and State Transitions

This paragraph focuses on calculating the probabilities of state transitions within the Markov Chain model. The speaker demonstrates how to use Python code to classify the variations in returns and apply this classification to the dataframe. He then explains the concept of a dictionary to store transition structures and how to calculate the number of transitions for each state. The speaker provides a detailed explanation of how to interpret the transition probabilities and how they can be used to make trading decisions.

15:02

💡 Trading Rules and Results

The speaker now discusses the application of the Markov Chain model to create trading rules. He explains how to use the transition probabilities to determine when to buy or sell based on the current and previous states of the market. The speaker then presents the results of applying these rules to historical data, showing that the Markov Chain model can yield significant returns with minimal trades. He compares these results to simple mean reversion strategies and highlights the effectiveness of the Markov Chain approach. The speaker also touches on the importance of adjusting parameters and managing risk in trading strategies.

🚀 Final Thoughts and Encouragement

In the concluding paragraph, the speaker wraps up the lesson by reiterating the potential of using Markov Chains in trading and encourages viewers to experiment with different parameters and strategies. He emphasizes the importance of risk management and how it can enhance the performance of trading strategies. The speaker invites viewers to like, share, and download the code for further study, fostering a learning community. He signs off with a warm farewell, looking forward to the next session and reminding viewers of the value of continued learning and engagement.

Mindmap

Keywords

💡Python

Python is a high-level programming language known for its readability and ease of use. In the context of the video, it is utilized as the primary tool for financial data analysis and the implementation of the Markov chain model for trading strategies.

💡Markov Chain

A Markov Chain is a mathematical system that undergoes transitions from one state to another according to certain probabilistic rules. In the video, it is used to model the probability of a financial market's transition between different states (increase, decrease, stable) based on historical data.

💡Trading

Trading refers to the act of buying, selling, or exchanging financial instruments such as stocks, bonds, or currencies with the goal of making a profit. The video outlines a trading strategy using the Markov Chain model to predict market transitions and make informed trading decisions.

💡IBOV

IBOV is the ticker symbol for the BOVESPA Index, which is the benchmark stock market index for the São Paulo Stock Exchange in Brazil. In the video, historical data from IBOV is used to demonstrate the application of the Markov Chain model in financial analysis.

💡Returns

Returns in finance refer to the profits or losses generated from an investment over a specific period. In the context of the video, returns are calculated for the IBOV index and used to determine the states of increase, decrease, or stability in the market.

💡Moving Average

A moving average is a technical analysis indicator that helps smooth out price data by creating a constantly updated average price. In the video, a 52-week moving average is used as a reference point to define the states of increase, decrease, and stability in the market.

💡States

In the context of the video, states refer to the three defined conditions of the market: increase, decrease, and stable. These states are determined by comparing the market's returns to a moving average and are used to predict future market behavior using the Markov Chain model.

💡Transitions

Transitions in the context of a Markov Chain model are the probabilities of moving from one state to another. The video focuses on calculating these transition probabilities based on historical market data to predict future market behavior.

💡DataFrame

A DataFrame is a data structure in Python, used for data analysis and manipulation, that is similar to a table or spreadsheet. In the video, the speaker uses a DataFrame to store and analyze financial data, such as the IBOV index returns and the calculated states.

💡Dictionaries

In Python, dictionaries are a data structure that stores key-value pairs, allowing for efficient lookup and retrieval of information. In the video, dictionaries are used to store the transition probabilities for each state in the Markov Chain model.

💡Trading Rules

Trading rules are guidelines or strategies used by traders to decide when to buy or sell financial instruments. In the video, a trading rule is derived from the Markov Chain model, utilizing the concept of mean reversion to determine when to enter or exit a trade.

💡Backtesting

Backtesting is the process of evaluating a trading strategy by applying it to historical data to see how it would have performed in the past. In the video, backtesting is implied when the speaker compares the results of the Markov Chain model to actual market performance.

Highlights

Introduction to Markov Chains for trading, emphasizing their ease of understanding and practical application.

Explanation of capturing IBOV data from 2012 to 2024 for calculating returns and setting up the Markov Chain model.

Use of a 52-week moving average as the basis for the Return on Investment (ROI) calculation within the Markov Chain framework.

Creation of three states within the Markov Chain: increasing, decreasing, and stable, based on the 1% threshold relative to the moving average.

Calculation of transition probabilities between the three states to understand the likelihood of market movement.

Segmentation of the data into training and testing sets for model validation and application.

Development of a function to classify return variations as increase, decrease, or stable based on the defined thresholds.

Utilization of Python's 'apply' method to efficiently process data frames with the classification function.

Explanation of the dictionary structure for storing transition states and their associated probabilities.

Calculation of transition probabilities for each state, providing insights into market behavior and potential trading opportunities.

Application of the Markov Chain model to the entire data set to derive a comprehensive set of transition probabilities.

Discussion on the practical application of the model for trading, emphasizing the importance of understanding the model's implications.

Comparison of the Markov Chain trading strategy with a simple mean reversion strategy, showcasing the model's effectiveness.

Presentation of the trading results using the Markov Chain model, demonstrating significant returns and practical applications.

Explanation of how adjusting parameters such as the threshold and time period can impact trading outcomes and the model's performance.

Emphasis on the importance of risk management when applying the Markov Chain model to real-world trading scenarios.

Transcripts

play00:01

[Música]

play00:06

fala meus queridos sejam muito

play00:08

bem-vindos ao aos pokem Market meu nome

play00:10

é Leandro guerra e hoje na nossa aula 25

play00:14

aqui do curso de Python para Finanças

play00:16

quantitativas mostrarei para vocês a

play00:19

como usar a cadeia de marcov para fazer

play00:22

trading tá primeiro ponto que eu quero

play00:24

fazer se você não assistiu a aula de

play00:27

introdução às cadeias de marcov que tá

play00:29

aqui no primeiro comentário assista

play00:31

porque senão você não vai entender nada

play00:32

porque eu vou passar pelo código Não vou

play00:34

ficar explicando marcov de novo segundo

play00:37

ponto essa proposta de uso que eu dou

play00:40

aqui ela não é a única que existe tá

play00:43

então eu escolho ela um porque ela

play00:45

funciona e dois porque ela é fácil de

play00:47

entender então como a aula é introdução

play00:49

à cadeia de marcov por trading você vai

play00:52

conseguir pegar a ideia beleza meus

play00:54

queridos não se esqueça de compartilhar

play00:59

dá o seu like deixar o seu comentário tá

play01:02

é assim que você retribui o trabalho que

play01:05

eu venho fazendo aqui para vocês no

play01:07

YouTube e vejo vocês também lá no outs

play01:10

pok Market na prática Tá bom então a

play01:13

gente vai começar e vamos tirar aqui eu

play01:16

tinha colocado Petro mas a gente vai

play01:18

deixar genérico vamos começar pelo ibov

play01:21

Então a gente tem aqui

play01:23

tranquilinho a captura dos dados do ibob

play01:26

de 2012 até 2024 a gente não vai chegar

play01:30

precisar desde 2012 mas deixa aqui do

play01:33

dos últimos anos tá a gente calcula para

play01:36

três períodos o O Retorno o nosso alvo o

play01:41

nossa média móvel aqui vai ser de 52 e o

play01:44

nosso rsl baseado nessa média móvel é

play01:47

desse mesmo período também Leandro

play01:50

primeira coisa por que período de três

play01:54

que eu quis pode ser dois pode ser cinco

play01:58

também funciona tá tá pode ser um pode

play02:01

ser 10 A diferença é que Conforme você

play02:04

ajusta esse período aqui para mais ou

play02:07

para menos você tá notando que tem dois

play02:10

carinhas aqui que são os limites O que

play02:13

são esses limites lembra que a cadeia de

play02:16

marcov ela trabalha justamente com a

play02:19

probabilidade de transição daquilo que a

play02:22

gente chama de

play02:24

Estados então eu vou criar três estados

play02:28

Possíveis quando Eu Estou diminuindo

play02:32

Aquela minha variação do retorno quando

play02:34

eu estou mantendo estável e quando eu

play02:36

estou aumentando ou quando o mercado fez

play02:39

assim se eu tiver esse limite tá

play02:43

superando 1% que é o limite superior vai

play02:46

aparecer que eu aumentei Então eu saí de

play02:48

um estado para o estado de aumento se o

play02:51

retorno ficar entre Men 1% e mais 1% eu

play02:55

vou considerar que é estável aquela zona

play02:57

ali cheia de ruid que a maioria dos

play02:59

casos e depois se o papel tá caindo a

play03:03

mais do que 1% vai ser o período de

play03:05

diminuição aí eu vou ter os meus três

play03:08

estados e com esses três estados eu

play03:11

posso calcular justamente aquilo que nos

play03:12

interessa que é a probabilidade de

play03:15

transição tal qual eu explico bem na

play03:17

aula introdutória de marcov que tá no

play03:19

primeiro comentário beleza Qual que é o

play03:22

nosso raciocínio o nosso raciocínio é eu

play03:24

vou calcular as transições de estados

play03:27

para um ano e vou usar essas transições

play03:30

de statos para fazer um trade no ano

play03:32

seguinte Tá bom então por isso que você

play03:35

vê aqui o o ear trin 22 o ear test 23 e

play03:40

aí a gente faz aqui uma concatenação das

play03:42

Strings só para ficar mais fácil então

play03:44

eu separo né entre treinamento e teste

play03:46

aqui pra gente poder rodar isso

play03:48

bonitinho Então deixa eu rodar porque

play03:50

sem rodar não vai ter nada pra gente ver

play03:52

e depois a gente vai aqui ó essa é a

play03:56

função mais importante ah na verdade é o

play03:58

pedaço de código mais importante da aula

play04:00

inteira primeiro a gente tem uma função

play04:03

aqui que eu criei que é a Justamente a

play04:06

função que vai classificar as variações

play04:08

então toda vez que eu encontrar um

play04:10

retorno tá vendo aqui ó retorno se ele

play04:13

for maior que o limite superior é

play04:15

aumento se ele for melhor do que o

play04:17

limite inferior a diminuição E se ele né

play04:21

for qualquer uma das outras coisas ou

play04:23

seja tiver entre um e o outro ele vai

play04:25

ser estável como isso é uma função eu

play04:27

quero aplicar ela para uma coluna no

play04:29

dataframe eu simplesmente uso aqui o

play04:31

método apply para aquela função Ok

play04:35

beleza aí agora o que que a gente

play04:37

precisa a gente vai armazenar armazenar

play04:40

perdão essa estrutura dentro de um

play04:42

dicionário tá o dicionário é um é um

play04:45

tipo né de de armazenamento de dados

play04:48

vamos colocar dessa forma

play04:49

ah onde você tem uma propriedade que a

play04:53

gente chama de chave e valor então você

play04:54

tem uma chave por exemplo nome e você

play04:57

tem um valor para aquela chave que é

play05:00

Leandro só que nome pode ter outras

play05:04

Chaves posso ter nome aí tem primeiro

play05:08

nome segundo nome terceiro nome e aí

play05:11

você tem essa estrutura aninhada o

play05:13

dicionário ele é muito bom para isso E

play05:15

aí você vai entender muito bem quando a

play05:17

gente rodar esse código aqui e ver o

play05:19

resultado que vai sair disso aqui então

play05:20

dado os meus estados de aumento

play05:23

diminuição e

play05:25

estável eu vou criar aqui um dicionário

play05:29

de transição para cada um deles então

play05:31

quando eu tô em Aumento passei para

play05:32

aumento Quando eu tô em Aumento passei

play05:34

para diminuição quando tô em Aumento e

play05:36

passei para estável e a mesma coisa

play05:38

depois quando eu tô instável passei para

play05:40

aumento quando eu tô instável continuei

play05:42

instável quando eu tava estável passei

play05:44

para diminuição e a mesma coisa por

play05:47

diminuição E com isso né então eu crio

play05:50

aqui como eu tenho três eu vou ter nove

play05:52

combinações totais né que vai ser aí 3 3

play05:56

x 3 ou 3 Quad Então eu tenho nove

play05:59

combinaç possíveis porque eu tenho um

play06:01

Estado variando em três outro estado

play06:03

variando em três tá e depois outro

play06:06

estado variando em três então tenho ali

play06:09

nove transições

play06:11

beleza feito isso eu tenho que

play06:14

contar quantas transições eu tenho em

play06:17

cada estado então eu vejo Qual que é o

play06:20

estado agora qual que é o próximo estado

play06:25

e aí eu faço a transição do estado e

play06:28

calculo faço uma soma de quantos valores

play06:31

eu tenho ali e depois eu divido pelo

play06:32

total e depois eu uso isso daqui só para

play06:35

dar um print pra gente poder ver esse

play06:38

cara aqui na tela

play06:39

ó tá vendo os nove as nove transições de

play06:43

estados estão calculadas agora isso

play06:45

daqui é o ponto aqui é o ponto

play06:47

fundamental da cadeia de markov tá é o

play06:50

ponto

play06:51

fundamental então eu tenho quando eu tô

play06:54

e olha o que isso diz pra gente né Você

play06:56

não tem que ser só um macaco que fica

play06:58

apertando código você tem que entender o

play07:00

que isso daqui tá dizendo para você

play07:01

então isso daqui tá dizendo para você o

play07:03

seguinte Ele tá dizendo que quando no

play07:05

ano de 2022 que foi onde a gente usou

play07:08

para fazer isso daqui então no ano de

play07:11

2022 quando você tinha aumento você foi

play07:15

para aumento em 69% das vezes ou seja se

play07:18

você

play07:19

subiu mais do que 1% foi o que a gente

play07:22

colocou ali na transição No Limite

play07:23

superior tá Você subiu esse cara

play07:28

ali

play07:30

o próximo estado depois daquilo foi

play07:32

outra alta de

play07:35

1% quando não é qualquer valor entre

play07:39

men1 e 1 e quando você teve uma alta de

play07:43

1% e depois você teve uma queda na

play07:46

sequência de - 1% ou mais é só 2% dos

play07:51

casos Então você tem Justamente a mesma

play07:54

coisa pra diminuição e PR estável

play07:57

naturalmente a gente tem ten uma

play07:59

conservação do momento então quando eu

play08:02

tenho aumento a maior probabilidade no

play08:04

aumento quando eu tenho a diminuição a

play08:05

maior probabilidade na diminuição e

play08:07

quando eu tô estável a maior

play08:08

probabilidade no estável Mas você vê que

play08:10

o código é tão bonito tá e a ideia da

play08:12

cadeia é tão bonita que no estável que é

play08:14

a zona neutra entre men1 e 1 eu tenho

play08:18

aqui não tão distante ou seja ele pode

play08:20

ir para qualquer lugar por isso que eu

play08:21

falo aquela zona neutra entre menos e 1

play08:23

que não acontece nenhuma tá para

play08:25

você ver como isso é de fato você tem

play08:27

aqui tipo quase vai 30% de chance para

play08:31

ele se tá entre menos 1 e 1 outra vez

play08:33

ele ir para mais 1% outra vez ele ir

play08:35

para - 1% tá é ali dessa forma Beleza

play08:41

beleza feito isso então eu aplico né

play08:45

esse esse carinha no no no retorno tá pr

play08:49

pra Base inteira pra gente dar uma

play08:51

olhadinha aí aqui o que que eu fiz tá eu

play08:54

fiz uma coisa então eu apliquei a mesma

play08:56

função apply paraa base inteira a aí

play08:59

aqui o que que você tem você tem um

play09:00

código se eu quiser pegar criar

play09:03

transformar isso porque isso daqui é

play09:04

informação da cadeia de marcov certo

play09:07

então isso daqui é o dicionário isso

play09:08

daqui não tá dentro do meu dataframe ah

play09:11

se eu for olhar aqui o o o o meu

play09:13

dataframe

play09:15

data V dar uma olhadinha nele aqui ó eu

play09:18

não tenho isso daqui eu só tenho as

play09:19

classes tá estável diminuição e

play09:21

diminuição como é que eu pego essa

play09:24

probabilidade aqui se eu quiser

play09:27

trabalhar com ela de alguma forma porque

play09:29

Lembra que eu falei que existem várias

play09:31

formas de você trabalhar a cadeia de

play09:32

markov então se eu quiser trabalhar com

play09:34

ela aqui de outra

play09:36

forma que que eu tenho que fazer não vou

play09:38

usar nessa aula mas eu antecipo para

play09:40

você como é que você faz você pode fazer

play09:42

de duas formas uma forma didática porém

play09:47

grande que é olha toda vez que eu tiver

play09:51

aumento e aumento eu pego lá no

play09:54

dicionário a transição aumento aumento

play09:56

toda vez que eu tiver aumento e o

play09:59

anterior for diminuição eu pego o

play10:01

aumento diminuição e faço nove caras

play10:05

desse

play10:06

aqui funciona funciona mas tem um jeito

play10:09

mais fácil esse é mais fácil porque ele

play10:13

é muito intuitivo Ah porque eu olho aqui

play10:15

eu sei ah vem o o Esse é aumento o

play10:17

anterior era aumento o atual é aumento o

play10:20

anterior era diminuição beleza Tá e aí

play10:24

eu pego justamente aquela probabilidade

play10:26

que tá no dicionário e atribuo do

play10:29

contrário Eu repito aquela informação

play10:30

para eu não zerar tudo que eu já fiz

play10:32

antes tá Existe uma forma que é muito

play10:35

mais fácil tirando as tras linhas de

play10:38

comentário que eu deixei para você

play10:39

Lembrando que você pode baixar esse

play10:40

código no autospark pcom lá na parte de

play10:43

curso gratuito onde você tem a o curso

play10:46

de Python você pode pegar o código lá

play10:49

então para depois você né se você não

play10:51

lembra da aula que tem que lembrar mas

play10:53

se você não lembra Você pode ler e

play10:55

entender o que que eu fiz então tirando

play10:57

as linhas de comentário você você tem a

play10:59

mesma coisa lá em cima tá só que a gente

play11:01

faz aqui em seis linhas Então eu tenho

play11:04

uma função onde eu tenho a transição de

play11:06

probabilidade onde eu passo minha linha

play11:08

e passo minha transição então eu vou dar

play11:11

uma olhada lá na minha classe e na

play11:14

anterior e aí eu faço justamente uma

play11:17

função apply aqui de novo e aí eu

play11:19

consigo pegar o MPR lá da do do nosso

play11:24

colega na matriz do nosso na verdade

play11:27

dicionário de transição Então esse cara

play11:28

aqui faz a mesma coisa que a célula em

play11:31

cima só que muito mais pythonico é o

play11:35

pessoal adora pythonico tal então tá

play11:38

aqui ó pythonico Tá bom então aí você dá

play11:40

uma olhadinha Como tá o negócio aqui

play11:43

tudo isso que a gente fez ali tá é para

play11:46

criar esse cara aqui ó M

play11:49

prob então eu tô pegando a probabilidade

play11:52

quando era estável e ficou estável 041

play11:58

quando é era estável e virou aumento

play12:01

0,28 não é isso que a gente tem ali ó

play12:04

quando era estável e virou aumento vai

play12:07

ele arredondou mas beleza tá a gente tem

play12:10

esse carinha aqui então a gente tem

play12:12

todas as transições

play12:14

e todas as

play12:17

probabilidades claro vamos o que

play12:19

interessa que é o trading então a gente

play12:23

faz o seguinte tá a gente faz o seguinte

play12:26

a regra de trade que ela é

play12:29

tá isso eu quero que vocês entendam você

play12:32

pode colocar o decho de regra de trading

play12:35

que você tiver aqui só que você tem que

play12:37

encontrar uma que

play12:38

generalize tá então a questão é a

play12:42

seguinte

play12:43

quando a minha classe atual é diminuição

play12:47

e a minha classe anterior era

play12:50

estável lembra que o mercado ele tem a

play12:52

tendência a reverter a

play12:55

média você

play12:57

compra quando ele tá aumenta agora e ele

play13:02

era estável tá perdão que tá na hora de

play13:06

tomar o negócio aqui deixa eu só dar uma

play13:08

olhadinha rapidinho e só um segundinho

play13:11

perdão a vocês por esse momento mas aqui

play13:14

tá tudo bom tudo certo

play13:17

ótimo Tô analisando aqui o o TR

play13:21

esportivo né Então tá tá tudo bem

play13:23

obrigado mais um game ali então meus

play13:27

queridos o que que eu fiz partindo desse

play13:30

princípio justamente da reversão à média

play13:34

eu aplico então eu no conceito da cadeia

play13:37

de marcov então quando eu tenho as

play13:39

minhas classes anteriores e atuais eu

play13:42

faço uma regra e quando eu tenho a outra

play13:44

eu

play13:45

compro e depois eu comparo isso com um

play13:48

evento aqui não marcov que é Beleza

play13:51

então se eu só fizesse a mesma coisa

play13:53

quando

play13:55

caísse abaixo daquele limite superior

play13:58

negativo né então menos um eu comprasse

play14:01

E se subisse eu vendesse né porque é

play14:03

aquela mesma ideia mais ou menos

play14:05

aproximada a gente você fazer uma

play14:07

reversão à média e para comparar os dois

play14:09

vou rodar esse cara aqui ele vai me dar

play14:11

um resultado tcharam ó se você tivesse

play14:14

fazendo ali uma simples reversão o teu

play14:16

resultado final no ano de 2023 teria

play14:19

sido aqui um um 0.67 por. né chegou a

play14:23

ganhar até 21% chegou a perder aqui os5

play14:26

ou seja o Dr Down muito aceitável mas

play14:28

ficou no 0 a z0 agora marcov Chin tá

play14:32

Olha que delícia o markov chain te deu

play14:36

ali com

play14:38

pouquíssimos pouquíssimos trades ao

play14:41

longo do ano ele te deu ali 18.884 por

play14:44

já descontado o custo operacional

play14:46

líquido obviamente Depois tem RS monumen

play14:49

Tenho mas o negócio

play14:51

funciona show né Ah legal Leandro isso

play14:55

funciona para o outro papel é funciona

play14:58

cara

play14:59

aí você vai aqui e coloca sei lá

play15:02

Petro tá vai ter papel que não funciona

play15:05

Petro ó funciona o Simple revers P teria

play15:10

sido uma tragédia absoluta mas o markov

play15:13

Chin você vê que ela tem obviamente ela

play15:15

é muito próxima ao ibov né tem as

play15:17

diferenças mas a Petro carrega o ibov

play15:19

ibov carrega a Petro tá aqui ó um

play15:22

resultado muito parecido sei lá se eu

play15:25

for pegar um dos bancos tá se eu for

play15:27

pegar aqui ó e Tube 4 tá pega o bichão

play15:32

Ali vai me dar Ó teve um pouco mais de

play15:36

swing Tá mas ainda assim acabou o ano

play15:39

com 21.29

play15:41

por. com poucos trades chegou a dar 33

play15:45

pior momento aqui foi quando perdeu aqui

play15:47

dos 27 pro para 11 tá e você pode fazer

play15:52

essa comparação com os outros anos ah

play15:54

vamos ver ali ó de 21 para 22 né que que

play15:58

aconteceu vamos ver no YouTube então PR

play16:00

você ver se esse negócio tem ó Foi meio

play16:03

negativo aqui no YouTube mas ainda foi

play16:05

melhor do que não ter feito

play16:06

nada Vamos ver a Pet nesse ano aqui que

play16:11

a gente sabe que não é assim um

play16:12

Abra para muito as

play16:15

coisas Petro

play16:18

4 ó bem menos negativo chegou a dar 15%

play16:24

positivo tá vamos ao

play16:30

bpa o Bovespa também carrega ali então

play16:34

foi foi um ano difícil para todo mundo

play16:37

né vamos ver então usando os dados de 20

play16:40

para 21 com o próprio bov aí você fala

play16:44

cara

play16:46

é não tá dando porque eu na verdade eu

play16:49

não tô rodando nada porque eu não tô

play16:50

fazendo

play16:51

nada né É porque não é

play16:55

bvsp pontencial é só bvsp ó o ebob ficou

play16:59

um pouquinho negativo só que aí esse é o

play17:02

ponto se você trabalha esses caras aqui

play17:05

e esse é o seu trabalho depois como

play17:07

cientistas de dados você vai ver que o

play17:09

seu resultado Varia muito Ó ficou se eu

play17:11

só mudei o limite ficou positivo então

play17:14

você pode trabalhar com os limites

play17:16

diferentes vai dar menos trade ainda

play17:17

porque obviamente o evento de mais 1,5

play17:20

por ou menos 1,5 por é mais raro mas em

play17:23

teoria foi mais assertivo Ah mas e se eu

play17:25

aumentar aqui para invés de três para

play17:27

cinco dias

play17:29

tá Ah ficou legal teve um drown maior

play17:33

mas né levou lá pro positivo também ali

play17:36

fazendo pouquíssimos trades em

play17:38

12.66 se colocar 10 dias Ah que que a

play17:42

gente vai ter aqui no Déo dia ó Foi uma

play17:44

tragédia por qu porque eu acho que aí a

play17:46

gente já tá forçando a barra talvez não

play17:48

funcione mesmo tá então principalmente

play17:51

se eu colocar aqui 20 dias esse estado

play17:54

não é legal para isso ó tá então de fato

play17:57

você precisa de menos dias você colocar

play17:59

só dois

play18:02

dias você tem legalzinho também Ah se

play18:06

você colocar mais dias só que você

play18:07

aumentar ali o trigger é faz todo

play18:10

sentido vamos deixar 5% então para 20

play18:13

dias

play18:15

tá vai melhorar aquele resultado ó

play18:17

melhorou aquele resultado 20 dias dia

play18:20

para caramba Talvez 5% seja pouco se a

play18:23

gente pegar 10% então esse é um

play18:25

parâmetro fundamental ó

play18:29

você teve ali com dois trades você teve

play18:33

13% no ano entendeu a

play18:35

relação por isso que não é só você mudar

play18:38

o alvo você tem que quando você ajusta o

play18:40

alvo você tem que ajustar esse cara aqui

play18:42

pode ser outro pode você pode vir aqui e

play18:44

dar uma olhada no que generaliza invés

play18:46

de 10% 88% Ah já não foi tão bom fez um

play18:51

pouquinho mais de trade mas perdeu aqui

play18:52

ó perdeu um trade que deu aqui perdeu

play18:55

esses 3% o resto ganhou tudo então tem

play18:57

uma de acerto muito alta também

play18:59

lembrando pessoas isso daqui eu não tô

play19:02

fazendo nenhum gerenciamento de risco

play19:05

não tô controlando nenhum stop não tô

play19:07

fazendo nada então quando você adicionar

play19:10

lembra que o gerenciamento ele não

play19:12

transforma uma coisa ruim em coisa boa

play19:14

mas ele pega aquilo que é bom e ele

play19:17

transforma em uma coisa melhor tá bom

play19:19

então deixa o seu like compartilhe faça

play19:23

o download do Código estude vai ter mais

play19:25

aula também e a gente se vê numa próxima

play19:28

meus queridos um grande abraço para

play19:29

vocês tchau

play19:36

tchau

Rate This

5.0 / 5 (0 votes)

Related Tags
Python for FinanceMarkov ChainsTrading StrategiesData AnalysisIbovespaEducational ContentTechnical AnalysisQuantitative FinanceAlgorithmic TradingCourse Overview