Essa é uma revisão anterior do documento!


ZeroCost Full


Adição, Remoção e Modificações de Operações ZeroCost

Passo 1: Baixar o Arquivo JSON

1.Abra o aplicativo Appreciator.

2.Navegue até o menu Derivativos → Zero Cost Full.

3.Na tela aberta, clique em Exp/Imp ZeroCostJson Download Parent.

4.Selecione onde deseja salvar o arquivo e abra-o com um editor JSON de sua preferência.

5.Formate o JSON e faça as modificações necessárias, garantindo que ele permaneça um JSON válido.

Observação: Caso seja uma adição, copie o código de uma operação existente que seja semelhante, e realize a modificação a partir dele.

Passo 2: Carregar o Arquivo Modificado

1.Após realizar as modificações, salve o arquivo.

2.Dentro do aplicativo Appreciator, navegue até o menu Derivativos → Zero Cost Full.

3.Na tela aberta, clique em Exp/Imp ZeroCostJson Upload Parent.

4.Selecione o novo arquivo JSON e pressione abrir.

Observação: Uma vez feita a operação, não é possível reverter. Portanto, é altamente recomendado possuir uma cópia do arquivo original, caso algo inesperado ocorra.


Ferramentas Adicionais

1.ZeroCost Json Download Default: Baixa o arquivo padrão utilizado pela Fderivs. Este arquivo é confiável para ser usado como base.

2.ZeroCost Json Reset: Utilizado em casos de emergência para sobrescrever o arquivo do grupo pelo arquivo padrão mantido pela Fderivs.

Observação: Esta operação é irreversível. Recomendamos salvar uma cópia do arquivo do grupo antes de um reset. — Descrição dos Campos do Arquivo JSON • Name: Nome da operação. • Type: Tipo da operação. Valores válidos: “Van” (Vanilla), “Bar” (Barreira), “VanBar” (mista entre Vanilla e Barreira). • OptionVanilla: Descrição das pontas de Vanilla, array de até 3 itens. o CallPut: Tipo da operação (Call ou Put). Valores: “C” ou “P”. o Leg: Ponta da leg (Buy ou Sell). o Strike: Strike, valor decimal. “1” = 100%, “1.4” = 140%. o LoteSize: Tamanho do lote, valor decimal. “1” = 100%, “1.4” = 140%. o Bd: Dias úteis, valor inteiro (exemplo: “252”). • OptionBarrier: Descrição das pontas de Barreira, array de até 3 itens. o CallPut: Tipo da operação (Call ou Put). Valores: “C” ou “P”. o Opc: Descrição da barreira. “CDI”, “CUI”, “CDO”, “CUO”, “EDI”, “EUI”, “EDO”, “EUO”, “DDI”, “DUI”, “DDO”, “DUO” A primeira letra é referente à Continua, Discreta ou Expiração. A segunda letra é a direção da barreira Up ou Down. A terceira letra descreve o trigger In ou Out. o Leg: Ponta da leg (Buy ou Sell). o Strike: Strike, valor decimal. “1” = 100%, “1.4” = 140%. o Bar: Strike da barreira, valor decimal. “1” = 100%, “1.4” = 140%. o Reb: Rebate da barreira, valor decimal. “1” = 100%, “1.4” = 140%. o LoteSize: Tamanho do lote, valor decimal. “1” = 100%, “1.4” = 140%. o Bd: Dias úteis, valor inteiro. • MutableParameters: Campos que o sistema pode alterar. o Selector: Seletor JSON do campo. Exemplo “OptionBarrier[0].Bar”  O sistema tentará encontrar o valor target modificando somente o Strike da Barreira da operação barreira de index 0. “OptionBarrier[0].Strike”  O sistema tentará encontrar o valor target modificando somente o Strike da operação barreira de index “OptionVanilla[1].Strike”  O sistema tentará encontrar o valor target modificando somente o Strike da operação Vanilla de index 1. o NelderMeadParameter: Index do valor NelderMead. o Adjustment: Parâmetro especial focado em estruturas Equidistant, indicando a direção que será aplicado o valor Guess do NelderMead. Exemplo.

Nesse exemplo a mecânica de Guess do Neldermead será a seguinte OptionVanilla[1].Strike = |1- + 0.25| = 0.75 OptionVanilla[2].Strike = |1 + 0.25| = 1.25

Considerando que o step informado é de 0.01, o próximo Guess será de OptionVanilla[1].Strike = |1- + 0.24| = 0.76 OptionVanilla[2].Strike = |1 + 0.24| = 1.26 Ou OptionVanilla[1].Strike = |1- + 0.26| = 0.74 OptionVanilla[2].Strike = |1 + 0.26| = 1.24

Portanto o Start será utilizado como a distância equalizada contra o adjustment informado. • Target: Informação sobre qual campo o sistema deve encontrar e qual valor busca atingir. o Field: Campo target (ex.: “Notional” ou “BumpNotional”). o Value: Valor esperado, número decimal, exemplo “0.03”  É esperando que o campo informado no Field atinja o valor de 3%. o ErrorMarginPercent: Margem de erro aceitável em porcentagem, portanto, “0.01” = 1% de erro máximo sobre o valor informado no Value. • FallbackParameters: Campo opcional, ele adiciona a possibilidade de modificação do valor do campo informado no selector, caso o target não seja atingido, reiniciando o processo com uma step de diferença no campo informado. o Selector: Seletor JSON do campo. Exemplo o “OptionBarrier[0].Bar”  O sistema tentará encontrar o valor target modificando somente o Strike da Barreira da operação barreira de index 0. “OptionBarrier[0].Strike”  O sistema tentará encontrar o valor target modificando somente o Strike da operação barreira de index “OptionVanilla[1].Strike”  O sistema tentará encontrar o valor target modificando somente o Strike da operação Vanilla de index 1. o Step: Valor decimal entre -1.0 e 1.0, valor este que será deduzido ou somado ou valor do campo informado a cada tentativa falha de encontrar o target. o MaximumSteps: Quantidade máximas de tentativas 10. • NelderMead: Parâmetros do NelderMead. o Start: Array de chutes iniciais para o Neldermead, quando esse campo é informado o “BestFit” se torna obrigatório. Exemplo para duas tentativas de execução, com chutes iniciais de 140% e 110%  [ “1.1”, “1.4” ] o Step: Incremento ou decremento por iteração. Valor decimal. o Epsilon: Incremento ou decremento próximo do resultado. Valor decimal. Obs.: É recomendado que o valor Step seja maior que o Epsilon, pois pode afetar a performance caso ambos sejam muito baixos, pois, aumentará a quantidade de iterações necessárias para chegar no resultado. o Normalization: Tipo de normalização (“Penalty”, “Sigmoid”, “Log”). “Penalty” = O Penalty utiliza a normalização de LOG com uma penalidade adicional de 10x, útil para operações complexas. “Sigmoid” = Normalização com algoritmo de Sigmoid, default na maioria das operações deve cobrir a maioria dos casos. “Log” = Transformação logarítmica. o BestFit: Esse campo deve ser informado ao utilizar mais de um valor no Start, este é responsável por indicar ao sistema qual das tentativas está mais próxima do desejado.

  Exemplos de estruturas e configurações. Vanilla Booster

Barrier Booster

  • Última modificação: 2024/06/25 15:57
  • por rgt002