Tengo curiosidad sobre una hipotética estrategia donde es mucho para un período determinado (un año), y al mismo tiempo protegerse en contra de la tendencia general por ir a corto cotidiana y la acumulación de las ganancias, todo esto utilizando el mismo instrumento (si usted está utilizando una opción de compra o tener físicamente la mercancía, etc), Básicamente, la capitalización de los beneficios de todos. Podría ser esto posible? Si es así, hay un nombre para esto?
Este es un gráfico que hice en Matlab. Básicamente, los gráficos de los rendimientos de una acción en un determinado año vs el compuesto ganancias diarias (y cortocircuito de esas ganancias para crear una relación inversa entre la gráfica). La idea originalmente era, básicamente, para crear una estadística de arbitraje oportunidad y obtener una posición delta neutral a largo plazo, básicamente de comercio de la varianza/volatilidad.
La gráfica roja es la acumulación diaria de los rendimientos por un cortocircuito todos los días durante un año, y el azul del gráfico es la apreciación de las acciones en un determinado año. La parte interesante de este gráfico es que para la mayor parte, la diferencia entre el azul del gráfico (holding) y el rojo (el compuesto diariamente rendimientos obtenidos por el cortocircuito) es en su mayoría positivos, por lo que casi siempre termina en un beneficio. Que suena extraño! suena como una perfecta cobertura, por qué no parece que nadie hable acerca de esto? Estoy con vistas a algo? Tengo un error? Esto es realmente rentable?
También, aquí está el código que he usado para generar el gráfico anterior. Por favor me ayude a salir de aquí, si ves algún error!
DIR = 'D:\hedging firm\';
FILE = strcat(DIR,'AAPL.csv');
KC = asset(FILE);
KC.price = KC.price; %
KC.open = KC.open;
KC.high = KC.high;
KC.low = KC.low;
fees = 0.0035; % Fees in USD per trade
difference_mkt = [];
difference_fund = [];
initial_balance_fund = [];
multiplier = 100;
balance_fund = 0;
n = 252;
k= 0;
for i=k+n+1:length(KC.price)
% SHORT
difference_mkt(i) = (KC.price(i) - KC.price(i-n))/KC.price(i-n)*100;
balance_fund = 0;
initial_balance = 0;
multiplier_mv = 100;
for j=n:-1:0
if balance_fund == 0
balance_fund = multiplier_mv * KC.open(i-j);
initial_balance = balance_fund;
end
multiplier_mv = floor(balance_fund / KC.open(i-j));
daily_gain = (KC.open(i-j) - KC.price(i-j)) * multiplier_mv - fees*multiplier_mv*2;
balance_fund = balance_fund + daily_gain;
end
difference_fund(i) = (balance_fund-initial_balance)/initial_balance * 100;
initial_balance_fund(i) = initial_balance;
end
net_gains = difference_mkt(k+n+1:end) + difference_fund(k+n+1:end);
plot(difference_mkt(k+n+1:end));
hold on;
plot(difference_fund(k+n+1:end));