Bot do Telegram para análise de opções

As opções são um tipo de título que desperta interesse constante, mesmo entre os operadores novatos. Muitos artigos foram escritos sobre opções, portanto, omitiremos a parte introdutória e assumiremos que o leitor está familiarizado com os termos básicos da negociação de opções. Na verdade, sua interpretação é fácil de encontrar na Internet.





Após o primeiro contato com a teoria, os operadores novatos em opções têm uma pergunta: sob quais condições esse conjunto de opções dará lucro, e de que tipo. Mesmo um negociador de opções experiente não pode responder imediatamente a esta pergunta se você tiver mais de uma opção. Isso requer uma análise da carteira de opções (um conjunto de opções e, possivelmente, futuros), o que é mais claramente feito na forma gráfica, no diagrama da dependência do lucro / perda sobre o valor do ativo subjacente. Atualmente, existem vários sites para isso, além de programas individuais.





O autor do artigo implementou a análise de opções por meio de um bot de telegramas , que permite obter rapidamente informações sobre a carteira de investimentos em um smartphone. 





Vamos supor que, além das opções, o leitor esteja familiarizado com bots de telegramas. Portanto, não haverá descrição de como criar um bot, desde o recebimento de um token até o processamento do teclado. Em vez disso, listamos os problemas conceituais que surgiram durante a criação do programa e como resolvê-los.





Lembrando o estado do bot entre webhooks

O bot recebe mensagens do usuário por meio do mecanismo de webhook embutido no telegrama. Cada webhook reinicia o programa, mas cada usuário precisa de um conjunto diferente de dados. Os usuários são identificados ao visualizar o fluxo de entrada:





$id_init = file_get_contents('php://input');

$id=sbs($id_init, '"from":{"id":',',"is_bot":');  //      

function sbs ($str,$m1,$m2){     //  str     - m1  m2

$p1=strpos($str,$m1)+strlen($m1);  // - 

$p2=strpos($str,$m2);

return substr($str,$p1,$p2-$p1);

}
      
      



A seguinte estrutura de dados é construída para cada usuário:





  1. : – , ,  ( message_Id) , ( , ..), 





  2. (  , , , , )  









.





  , y=kx+b, 





  y –   /





        –





  png GD :





1) -  (, )





2) (   , ,   Y)





3) , X    , Y – , :





$typ – ,





$q – ( )





$cena –





$strike –





$x0 –





$sx –





function pparr($typ, $q, $cena, $strike,$x0,$sx)//    -  x=>y   

// ,  ( ),     ( ) 

    if ($q<0)  {    $q=-$q;

                    $drct='-';

            }                   

            else $drct='+';

     $a=array();

     $b=array();

     $delta=$sx;  //       $scalx

     for ($i=0;$i<740;$i++){   //   740  

        $xkk=$x0+$delta*$i; //   X

        if ($typ=='fut') {

            if ($drct=='+') $a[$xkk]=($xkk-$cena)*$q;

            else $a[$xkk]=(-$xkk+$cena)*$q;

        }

        if ($typ=='call'){

            if ($drct=='+') {  if ($xkk<=$strike) $a[$xkk]=-$cena*$q; else $a[$xkk]=$q*($xkk-$strike-$cena);}

            elseif ($xkk<=$strike) $a[$xkk]=$q*$cena; else $a[$xkk]=(-$xkk+$strike+$cena)*$q;}

            

        }

        if ($typ=='put'){

            if ($drct=='+') {  if ($xkk<=$strike) $a[$xkk]=(-$xkk+$strike-$cena)*$q; else $a[$xkk]=-$q*$cena;}

            elseif ($xkk<=$strike) $a[$xkk]=($xkk-$strike+$cena)*$q; else $a[$xkk]=$cena*$q;}

            

        }

     $b[(string)$xkk]=(string)$a[$xkk];

     }

return $b;         

};
      
      



4)      , ( )  ( ). , know-how ,   / Y. - X+,X-,Y+,Y- . , .





.  . – , .  , , ().  , , , , ( , ).  , . ( - ) ,   .  , ( , , )   () . .  , -,   , . 





- , .





, :





=+(-_)*;





_ , 





–   , , , ,





– , , , ,





  , , . , , , .





- :  , , ,  . , , . .





:





Uma entrada na carteira de compra de um exercício de opção de compra 75.000 vencimento 06/03/2021 ao preço de 25
"" 75000 03.06.2021 25
Gráfico de lucro / perda para a opção de compra comprada, dependendo do valor do ativo subjacente na data de vencimento
/ ""

=23.





:   ( ) [] 03.06.2021  75000 ,  23 . 75023 , .





:   23. , , 23.





– .





.





Uma entrada na carteira de venda de um exercício de opção de venda 72750 ao preço de 44 com data de vencimento em 03/06/2021
"" 72750 44 03.06.2021
Um gráfico da dependência do lucro / prejuízo em uma opção de venda vendida sobre o valor do ativo subjacente na data de vencimento
/ ""

= 5436.





, 72750 44. 72706 . .





– , 72706. !   (5436), .





?  5436 44? , . , 3 .





.





?





Uma entrada na carteira de venda de exercício de opção de venda 72750 e venda de exercício de opção de compra 75000
"" 72750 "" 75000
Um gráfico da dependência do lucro / prejuízo da carteira em relação ao valor do ativo subjacente na data de vencimento
/

!





– – , 72700  ( «»)  75190 ( «»). 





, .





,   72700 75190,  , .





-

:













  • «»,  ,   (   )









  • , , png,





  • , ,  : « », « », « »  





«»  InlineKeyboard.





  :





  • «-» , ,





  • «»   . ,





  •    .





.





,     « »( , ).





- .  , : (Si),  (BR), (RI). .





- , .





- / (P/L  ).





- t.me/@test09062020bot.  « ».








All Articles