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. —

•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.

•CallPut: Tipo da operação (Call ou Put). Valores: “C” ou “P”.

•Leg: Ponta da leg (Buy ou Sell).

•Strike: Strike, valor decimal. “1” = 100%, “1.4” = 140%.

•LoteSize: Tamanho do lote, valor decimal. “1” = 100%, “1.4” = 140%.

•Bd: Dias úteis, valor inteiro (exemplo: “252”).


OptionBarrier

Descrição das pontas de Barreira, array de até 3 itens.

•CallPut: Tipo da operação (Call ou Put). Valores: “C” ou “P”.

•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.

•Leg: Ponta da leg (Buy ou Sell).

•Strike: Strike, valor decimal. “1” = 100%, “1.4” = 140%.

•Bar: Strike da barreira, valor decimal. “1” = 100%, “1.4” = 140%.

•Reb: Rebate da barreira, valor decimal. “1” = 100%, “1.4” = 140%.

•LoteSize: Tamanho do lote, valor decimal. “1” = 100%, “1.4” = 140%.

•Bd: Dias úteis, valor inteiro.


MutableParameters

Campos que o sistema pode alterar.

•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.

•NelderMeadParameter: Index do valor NelderMead.

•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.

•Field: Campo target (ex.: “Notional” ou “BumpNotional”).

•Value: Valor esperado, número decimal, exemplo “0.03”  É esperando que o campo informado no Field atinja o valor de 3%.

•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.

•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.

•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.

•MaximumSteps: Quantidade máximas de tentativas 10.


NelderMead

Parâmetros do NelderMead.

•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” ]

•Step: Incremento ou decremento por iteração. Valor decimal.

•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.

•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.

•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.  

—-

  • Última modificação: 2024/06/25 17:58
  • por rgt002