Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Como encontrar o conjunto de preços livres de arbitragem em um mercado incompleto?

+2 votos
124 visitas
perguntada Set 18, 2016 em Finanças por Caue (231 pontos)  
republicada Set 27, 2016 por Caue

[Adaptada do Magill and Quinzii, 2002]

Considere uma economia com dois períodos com S = 3 estados da natureza na data 1. Suponha que existam 2 ativos com payoffs
X1 = (10, −20, 60),
X2 = (20, 30, 10).

a) Ache o conjunto P de todos os preços (p1, p2) que são livres de arbitragem. Mostre que esse conjunto é um cone aberto. [Um conjunto K é um cone quando x ∈ K ⇒ tx ∈ K, ∀t ∈ R+, ∀x ∈ K.]

b) Para cada p ∈ P ache todos os preços de estado q = (q1, q2, q3) que satisfazem p = Xq.

c) Considere um vetor de preços que ofereça uma oportunidades de arbitragem e apresente uma carteira que ofereça essa oportunidade.

Compartilhe

1 Resposta

+3 votos
respondida Set 20, 2016 por Caue (231 pontos)  
editado Out 8, 2016 por Caue
 
Melhor resposta

Como o mercado é incompleto, pois temos 2 ativos e 3 estados (J=2 e S=3), devemos definir um ativo contingente cujo payoff não seja combinação linear dos payoffs de X1 e X2.

Definimos, portanto:

\( \mathscr{M} = span\{ (10, −20, 60), (20, 30, 10) \} \)
\( \hat{z} = (0, 0, 1), \hat{z}\notin \mathscr{M} \)

Definimos o conjunto abaixo como subespaço de \(R^s\)

\( \mathscr{N} = \{z + \lambda\hat{z}: z \in \mathscr{M} , \lambda \in R \} \)

Nosso objetivo é estender o funcional de apreçamento de payoffs. Para isso, devemos encontrar os limites superiores e inferiores para o ativo \( \hat{z}\).

\( q_u=min_{h}\{ph : Xh \geq \hat{z}\} \)
\( q_l=max_{h}\{ph : Xh \leq \hat{z}\} \)

Ou seja:
\[ q_u=min_{h}\{p_1h_1 + p_2h_2 : \begin{pmatrix}10 & 20 \\ -20 & 30 \\ 60 & 10\end{pmatrix}.\begin{pmatrix}h_1 \\ h_2 \end{pmatrix} \geq \begin{pmatrix}0 \\ 0\\ 1\end{pmatrix}\} \]

\[ q_l=max_{h}\{p_1h_1 + p_2h_2 : \begin{pmatrix}10 & 20 \\ -20 & 30 \\ 60 & 10\end{pmatrix}.\begin{pmatrix}h_1 \\ h_2 \end{pmatrix} \leq \begin{pmatrix}0 \\ 0\\ 1\end{pmatrix}\} \]


Antes de resolver os problemas acima, como não temos os preços \(p_1\) e \(p_2\), vamos encontrar uma relação entre eles que indique a presença (ou ausência) de arbitragem.

Quando há arbitragem, deveremos ter \(Xh \geq 0 \) e \(ph \leq 0 \), com pelo menos uma desigualdade estrita.
Resolveremos, portanto, o seguinte sistema, lembrando que \(p_1\) e \(p_2\) são estritamente positivos:

\[ \begin{cases} \space 10h_1+20h_2 & \gt 0 \\ \space -20h_1+30h_2 & \gt 0 \\ \space 60h_1+10h_2 & \gt 0 \\ \space p_1h_1+p_2h_2 & \leq 0 \\ \end{cases} \]

Simplificando, temos:

\[ \begin{cases} \space h_1 \gt -2h_2\\ \space h_1 \lt \frac{3}{2}h_2 \\ \space h_1 \gt -\frac{1}{6}h_2 \\ \end{cases} \]

  • Caso \(h_2 \gt 0 \), \( -2h_2 \lt -\frac{1}{6}h_2 \), então:
    \[-\frac{1}{6}h_2 \lt h_1 \lt \frac{3}{2}h_2\]

  • Caso \(h_2 \leq 0 \), \( -2h_2 \geq -\frac{1}{6}h_2 \), então:
    \[-2h_2 \lt h_1 \lt \frac{3}{2}h_2 ~ (Absurdo) \]

Concluímos, portanto, que \(h_2 \gt 0 \) e \( -\frac{1}{6}h_2 \lt h_1 \lt \frac{3}{2}h_2\).

Utilizando a última equação de nosso sistema, \(p_1h_1+p_2h_2 \leq 0\), e lembrando que \(p_1, p_2, h_2 \gt0\):

\[ p_1h_1 + p_2h_2 \leq 0 \implies p_1h_1 \leq -p_2h_2 \implies -\frac{p_2}{p_1} \geq \frac{h_1}{h_2} \]

De onde conclui-se que \(h_1\lt0\), pois \(-\frac{p_2}{p_1}\lt0\).

Com \(h_1\lt0~e~h_2\gt0\), temos:
\[-\frac{1}{6}h_2 \lt h_1 \lt 0 \implies -\frac{h_2}{h_1}\gt6\]
\[ -\frac{p_2}{p_1} \geq \frac{h_1}{h_2} \implies \frac{p_1}{p_2}\geq -\frac{h_2}{h_1} \gt 6 \]
\[p_1\gt6p_2\]


a)

Temos portanto o seguinte conjunto \(P\) representando os preços livres de arbitragem:

\( P = \{(p_1,p_2) \in R_+^*: p_1 \lt 6p_2 \} \)

É fácil verificar que esse conjunto \(P\) é um cone aberto, pois se \((p_1,p_2)\in P\), então temos \( p_1 \lt 6p_2\), o que implica que \( tp_1 \lt 6tp_2, \forall t \in R_+^*\).
Logo, concluímos que \( p \in P \implies tp = (tp_1,tp_2) \in P, \forall t \in R_+^* \)


b)

Para um determinado preço p, podemos encontrar q da seguinte forma:

\( p = X'q \implies q = (XX')^{-1}Xp \)

\[ q = \begin{pmatrix}0.0017544 & 0.0140351 \\ -0.0059649 & 0.0222807\\ 0.0143860 & 0.0050877\end{pmatrix} . \begin{pmatrix}p_1 \\ p_2\end{pmatrix} \]

Se, por exemplo, escolhemos \(p = (1, 2)\), temos:

\[ q = \begin{pmatrix} q_1 \\ q_2 \\ q_3\end{pmatrix} = \begin{pmatrix} 0.029825 \\ 0.038596 \\ 0.024561\end{pmatrix} \]

import numpy as np
from numpy.linalg import pinv

p = np.matrix('1 ; 2')
X = np.matrix('10 20 ; -20 30 ; 60 10')
q = pinv(X*X.T) * X * p

print("q = %r" % q.tolist())

Vamos agora resolver o problema de otimização para \(p=(1,2)\) e \(\hat{z}\):

from scipy.optimize import linprog
import numpy as np

A = [[10, 20], [-20, 30], [60, 10]]
b = [0, 0, 1]
c = [1, 2]

# qu - minimização
res = linprog(c, A_ub=np.negative(A), b_ub=np.negative(b))
print("qu = %f" % res.fun)

# ql - maximização
res = linprog(np.negative(c), A_ub=A, b_ub=b)
print("ql = %f" % res.fun)

Resultado:

\(q_u = 0.035\)
\(q_l = 0\)

Como \(q_u \gt q_l\), confirmamos a não-arbitragem. Além disso, notamos que \(q_u \gt 0.024561 \gt q_l\).


Poderíamos também encontrar q resolvendo o sistema \( p = X'q \).
Como o sistema é indeterminado, fixamos um dos preços de estado.
Por exemplo, podemos fixar \(q_3=\alpha\). Assim, teríamos a seguinte solução:

\[ q_1= \frac{ 3p_1+2p_2-200\alpha}{70} \\ q_2=\frac{-2p_1+p_2+110\alpha}{70} \\ q_3=\alpha \]

Com as seguintes restrições:

\[ q_1\gt0\implies \alpha\lt \frac{3p_1+2p_2}{200} \\ q_2\gt0\implies \alpha\gt \frac{2p_1-p_2}{110} \\ q_3\gt0\implies \alpha\gt 0 \]

É fácil verificar que para \(p_1=1\) e \(p_2=2\):

  • O conjunto restrição de \(\alpha\) (\(0\lt\alpha\lt0.035\)) está de acordo com \(q_u\) e \(q_l\) calculados.
  • \(\alpha=0.024561\) respeita as restrições e fornece os mesmos valores calculados para \(q_1\), \(q_2\) e \(q_3\).

É interessante notar que, para que \(\alpha\) exista, devemos ter \(\frac{2p_1-p_2}{110} \lt \frac{3p_1+2p_2}{200}\), o que nos dá exatamente o conjunto P encontrado na alternativa a.


c)

Um vetor de preço que oferece oportunidade de arbitragem é \(p=(7,1)\), pois \(p_1\gt6p_2\).

Quando há arbitragem, deveremos ter \(Xh \geq 0 \) e \(ph \leq 0 \), com pelo menos uma desigualdade estrita.

\(ph\leq0 \implies 7h_1+h_2\leq0 \implies h_1\leq-\frac{1}{7}h_2\)

\[Xh \gt 0 \implies \begin{cases} \space h_1+2h_2 & \gt0 \\ \space -2h_1+3h_2 & \gt0 \\ \space 6h_1+h_2 & \gt0 \\ \end{cases}\]

Resolvendo as desigualdades, temos:
\(-\frac{1}{6}h_2 \lt h_1 \lt \frac{3}{2}h_2\)

Como já avaliamos anteriormente, temos \( -\frac{1}{6}h_2 \lt h_1 \lt 0 \lt h_2\).

Escolhendo \(h_1 = -\frac{1}{6.1}h_2\), conseguimos mostrar uma carteira que apresenta oportunidade de arbitragem.
Portanto, seja \(p=(7,1) \text{ e } h=(-1,6.1)\), temos:

\[Xh = \begin{pmatrix}10 & 20 \\ -20 & 30 \\ 60 &10\end{pmatrix}.\begin{pmatrix}-1 \\ 6.1 \end{pmatrix} = \begin{pmatrix}112 \\ 203\\ 1\end{pmatrix} \gt 0 \]

\[ph = \begin{pmatrix}7 & 1 \end{pmatrix}.\begin{pmatrix}-1 \\ 6.1 \end{pmatrix} = -0.9 \lt 0\]

comentou Out 9, 2016 por Saulo (436 pontos)  
Resposta muito boa! Obrigado pelos esclarecimentos!

Alguns pontos para facilitar o entendimento:

1) Um mercado é completo se, e somente se, o posto da matriz X é igual a S. Como o tem-se J=2 colunas, então posto(X) <= 2 < 3 = S. Logo, o mercado é incompleto.

2) Uma arbitragem é igual a: (i) uma arbitragem forte; OU (ii) ph=0 e Xh>0. Para encontrar os preços livres de arbitragem, talvez seja mais simples começar pelo (ii). Veja:

ph = 0 -> p1*h1 + p2*h2 = 0 -> h1 = (-p2/p1)*h2

Substituindo nas equações de Xh (lembrando que h2 não pode ser zero, pois teríamos Xh=0), temos:
(a) (-10*p2/p1 + 20) * h2 >= 0 -> p1 >= p2/2
(b) (20*p2/p1 + 30) * h2 >= 0 -> p1 >= (-2/3)*p2
(c) (-60*p2/p1 + 10) * h2 >= 0 -> p1 >= 6*p2

De onde tiramos que p1 >= 6*p2. Para fazer a verificação das condições de arbitragem forte, é fácil mostrar a partir das equações que já foram colocadas que devemos ter p1 > 6*p2.

3) Com relação ao item (b), é importante ressaltar que foi usada a pseudo-inversa na parte numérica (que fica claro ao analisar o código-fonte em Python).

E para encontrar o qu e ql nos seus comentários finais do item (b), é válido mencionar que foi usada a fórmula:
   qu(z) = max{qz : p = X'q} s.a. q>=0
   ql(z) = min{qz : p = X'q} s.a. q>=0

Fazer q>=0 significa ausência de arbitragem. Usando o item (a), temos que:
p1 - 6*p2 >= 0 -> 2*p1 - p2 > 2*p1 - 12*p2 >= 0

Logo, o alpha sempre será maior que zero se não houver arbitragem. Neste caso, teríamos a seguinte expressão para alpha:
(2*p1 - p2)/110 <= alpha <= (3*p1 + 2*p2)/200
...