valor pip

¿Tiene dudas sobre el trading con divisas? No se preocupe, FXWizard tiene todas las respuestas.

Re: valor pip

Notapor Broricos » 24 Abr 2015, 18:13

independientemente de si compra o vende la ganancia (o perdida) en términos de pips siempre equivale o esta expresada en terminos de la moneda quote, y la conversión exclusivamente depende del lugar que ocupe la moneda deposito (de la cuenta) en el par, es decir si es moneda base o moneda quote

Para el caso que expone del EUR/JPY independiente de si es compra o venta del par, la diferencia numérica en pips de ganancia o perdida son Yenes
por tanto la conversión a dolares siempre es división, porque en el par USD/JPY el dolar es moneda base.

para el caso donde el dolar es moneda quote por ejemplo en pares como GBP , AUD, NZD la conversión siempre es multiplicación.

Así independiente si por ejemplo vende o compra el par EUR/AUD la ganancia o perdida siempre esta expresada en términos de Dolares Australianos que necesita ser convertida o materializada en dolares americanos y como en el par AUD/USD el dolar es moneda "quote", la operación de conversión siempre es multiplicación.

Espero esto ayude
sldos,
Broricos
 
Mensajes: 57
Registrado: 22 Jul 2014, 14:36
Karma: 3

Re: valor pip

Notapor Broricos » 24 Abr 2015, 19:10

Ok, Quiero explicar un poco mejor estos conceptos para los novatos que nos leen:

Cuando uno compra o vende un par hay una cosa que en términos de valor permanece inmodificable y eso es la moneda base:
Si yo compro 100K del par EUR/GBP estoy tomando prestada cierta cantidad de Libras para poder comprar esos 100K euros
Cuando los devuelvo es decir, vendo esos 100K Euros de regreso, la cantidad de EUROS en la transacción es inalterable porque al fin y al cabo yo compre 100K euros y devolví 100K euros. Entonces donde está el sentido de esto? (jeje)

Pues en determinar que alteración sufrió la moneda cotizada (quote) durante las dos fases que tomo la operación.

Supongamos que cuando compre el par, tome prestado 71.600 libras para poder comprar esos 100K euros y cuando los devolví me pagaron 71.650 libras por tanto yo retorno las 71.600 libras al bróker y me quedo con 50 libras restantes de ganancia (cierto?)
Ahora la operación contraria:

Cuando yo digo que vendo 100K del par EUR/GBP quiere decir que me prestaron 100K euros para comprar 71.600 libras y si cuando yo quiero recuperar los 100K euros para devolverlos al bróker la cotización del par EUR/GBP está en 0.7155 quiere decir que para comprar de regreso esos 100K euros solo necesito 71.550 libras por tanto me puedo quedar con las restantes 50 libras (yeah!!)

En ambos casos independiente si yo vendí o compre el par mi retorno o pérdida por esta transacción está representada o expresada en Libras, dado que fue la parte de la operación que sufre fluctuaciones por la tasa de cambio.

Como yo realmente no tengo en mi cuenta libras para solventar estos cambios porque los depósitos de mi cuenta están en dólares, se hace necesario que esa alteración que sufrió mi balance producto de la operación de compra y venta realizada se materialice en dólares contantes y sonantes que a la final es lo que me importa y puedo gastar jejeje

Es por eso que inmediatamente el bróker dice “Broricos se ganó 50 libras en esta operación acreditemos a su balance”
Entonces digamos que el cambio en ese momento de la libra versus dólar está en 1.5100 por tanto por cada libra yo recibo 1.51 dólares y como son 50 libras entonces yo recibo $75 bucks o dólares jeje.

Y eso es todo simple y diáfano (es lo bonito de trabajar a margen), :D
Broricos
 
Mensajes: 57
Registrado: 22 Jul 2014, 14:36
Karma: 3

Re: valor pip

Notapor mascara » 27 Abr 2015, 21:55

Hola Daykoku,

No sé si esto te servirá... Cuando estaba probando cosas con anillos me hice una función para calcular el valor del pip según los lotes, para saber que lotes poner para que todas las patas tuvieran el mismo valor por pip... Total que este es el código de una estrategia que hice para probar que me salía lo mismo que en la calculadora de dukas... En general iba bastante bien creo recordar, a veces descuadraban por decimales, y creo que en algunos pares daba la impresión de descuadrar los decimales siempre más que en otros ¿?. Pero prueba, a lo mejor te sirve, y si alguien la mejora o lo que sea... Por cierto las cantidades se ponen en millones, como en la calculadora... si quieres ponerlas en otro formato tendrás que tocar un valor que verás en la fórmula que tiene 1000000. Y si quieres visualizar más decimales, en los prints puedes cambiar .2f por .4f por ejemplo. De todas formas eso sólo lo cambia en la impresión no en los cálculos...
Código: Seleccionar todo
package jforex;
import java.util.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.DecimalFormat;
import com.dukascopy.api.*;


public class valorPip implements IStrategy {
    @Configurable("Instrument 1") public Instrument eInstrument1     = Instrument.EURUSD;
    @Configurable("Cantidad 1")   public double eAmount1             = 0.01;

    private IEngine engine;
    private IConsole console;
    private IHistory history;
    private IContext context;
    private IIndicators indicators;

    public void onStart(IContext context) throws JFException {
        this.engine = context.getEngine();
        this.console = context.getConsole();
        this.history = context.getHistory();
        this.context = context;
        this.indicators = context.getIndicators();

        console.getOut().println(String.format("En : %s %.2f =  %.2f", context.getAccount().getCurrency(), eAmount1, getPipValueInAccountCurrency(eInstrument1,eAmount1)));
        console.getOut().println(String.format("En : %s %.2f =  %.2f", eInstrument1.getPrimaryJFCurrency(), eAmount1, getPipValue(Currency.getInstance(eInstrument1.getPrimaryJFCurrency().toString()),eInstrument1,eAmount1)));
       console.getOut().println(String.format("En : %s %.2f =  %.2f", eInstrument1.getSecondaryJFCurrency(), eAmount1, getPipValue(Currency.getInstance(eInstrument1.getSecondaryJFCurrency().toString()),eInstrument1,eAmount1)));
       console.getOut().println(String.format("En : %s %.2f =  %.2f", "USD", eAmount1, getPipValue(Currency.getInstance("USD"),eInstrument1,eAmount1)));
       
        context.stop();
    }

    public void onAccount(IAccount account) throws JFException {
    }

    public void onMessage(IMessage message) throws JFException {
    }

    public void onStop() throws JFException {
    }

    public void onTick(Instrument instrument, ITick tick) throws JFException { 
 
    }
   
    public void onBar(Instrument instrument, Period period, IBar askBar, IBar bidBar) throws JFException {
       
             
    }
    //Calcula el valor del pip de un par y unidades en una moneda dada...
    public double getPipValue(Currency c, Instrument i, double a)throws JFException{
        Instrument i2;
        double unidades = 1000000;
        if(c==i.getSecondaryCurrency())
          return i.getPipValue()*a*unidades;
        else if  (c==i.getPrimaryCurrency())
          return (i.getPipValue()*a*unidades)/history.getLastTick(i).getBid();
        else{
            if ((i2 = Instrument.fromString(i.getSecondaryCurrency()+"/"+c))==null)
                 i2 =  Instrument.fromInvertedString(i.getSecondaryCurrency()+"/"+c);     
            return (i.getPipValue()*a*unidades)/history.getLastTick(i2).getBid(); 
        }
    }
       
    //Calcula el valor del pip de un par y unidades en la moneda de la cuenta...
    public double getPipValueInAccountCurrency(Instrument i, double a)throws JFException{
       return getPipValue(context.getAccount().getCurrency(), i, a);
    }         

    //Cuando los parámetros de cantidad 2 y 3 están a 0, se calculan para que el valor del pip sea constante en todos las patas...
    public double calculaLotesHedge( double pLotes, double pValorPip1, double pValorPip2){
       return (( pLotes * pValorPip1 )/pValorPip2)<0.001?0.001:(( pLotes * pValorPip1 )/pValorPip2);
    }

}
mascara
 
Mensajes: 41
Registrado: 29 Jun 2012, 12:37
Karma: 3

Re: valor pip

Notapor daykoku » 28 Abr 2015, 14:19

Mascara,

no se me ocurrió usar la función getpipvalue, pero revisando en la wiki va de lujo,

Broricos,

de nuevo gracias por la detallada explicación. Creo que ya quedó claro, es cierto que ya después pensando, pierdes o ganas lo mismo comprando o vendiendo un par en cuestión. Pero vamos que esta última si me quedó claro :)
Avatar de Usuario
daykoku
 
Mensajes: 947
Registrado: 21 Oct 2010, 14:51
Ubicación: Tenerife
Karma: 6

Re: valor pip

Notapor Broricos » 28 Abr 2015, 14:44

con todo gusto (jeje)

Imagen
Broricos
 
Mensajes: 57
Registrado: 22 Jul 2014, 14:36
Karma: 3

Anterior

Volver a Pregunte a FXWizard

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado

cron