<p>It is because your assumed values do not satisfy UIP. If you were to use values that would satisfy the condition, UIP would hold.</p>
<p>Using Python it looks like this:</p>
<pre><code>s1, s , i_h, i_d = 1.01, 1, 0.05, 0.04
s1_computed = (1+i_h)/(1+i_d)*s
print(f'Computes S1 = {s1_computed}')

print(f'Swapped Home and Foreign = {1.05 * 1/s1_computed}')
</code></pre>
<p>Computes S1 = 1.0096153846153846 <br>
Swapped Home and Foreign = 1.04</p>

CC BY-SA 4.0
2023-04-09T23:48:53.690Z
OMG, how did I miss this!? 
Thanks so much for your help!
TeX_novice
CC BY-SA 4.0
2023-04-10T07:05:07.437Z
"*It is because your assumed values do not satisfy UIP. If you were to use values that would satisfy the condition, UIP would hold.*" lol
Giskard
CC BY-SA 4.0
2023-04-09T23:46:52.307Z
2023-04-09T23:46:52.307Z
AKdemy
<p>I am using the UIP condition before taking an approximation and, therefore, expecting UIP to hold exactly.
I want to understand why UIP calculated for a pair of currencies</p>
<p>a)  does not hold exactly (in my example below the discrepancy between the rates of return is 0.0004 and increases with the scale of variables), and</p>
<p>b)  why, when Home and Foreign are switched, the discrepancy between the rates of return changes to 0.000396. So the difference between the two discrepancies (home-foreign and foreign-home) is 0.000004.</p>
<ul>
<li>Example 1:</li>
</ul>
<p><span class="math-container">$(1+i_t)=(1+i^*_t)S_{t+1}/S_t$</span></p>
<p><span class="math-container">$i_t = 5%$</span></p>
<p><span class="math-container">$i^*_t = 4%$</span></p>
<p><span class="math-container">$S_{t+1} = 1.01$</span>
<span class="math-container">$S_t = 1$</span>
<span class="math-container">$ROR^* = 1.04*1.01/1 = 1.0504$</span></p>
<p><span class="math-container">$i_t - ROR^* = -0.0004$</span></p>
<ul>
<li>Example 2, Switching Home and Foreign:</li>
</ul>
<p><span class="math-container">$i_t =  4%$</span></p>
<p><span class="math-container">$i^*_t = 5%$</span></p>
<p><span class="math-container">$S_{t+1}  = 1/1.01 = 0.990099$</span></p>
<p><span class="math-container">$S_t = 1$</span></p>
<p><span class="math-container">$ROR^* = 1.05*0.990099/1 = 1.03960396$</span></p>
<p><span class="math-container">$i_t - ROR^* = 0.00039604$</span></p>
<p>The discrepancy between two ways of calculation = 0.00039604 -0.0004 = -0.00000396</p>

CC BY-SA 4.0
2023-04-09T22:05:18.533Z
Your question is not quite clear. It seems like you expect
$$
i_t = i^*_t + S_{t+1} - S_t
$$
to be true? If yes: as you write, this is just a linear approximation, so exact equality is not to be expected.
Giskard
CC BY-SA 4.0
2023-04-09T22:06:47.007Z
P.s.: Your MathJax is nice, keep it up!
Giskard
CC BY-SA 4.0
2023-04-09T23:45:06.430Z
Sorry about any confusion, but I used the following, non-linearized condition: 
$(1+i_t)=(1+i^∗_t)S_{t+1}/S_t$
TeX_novice
<macroeconomics><international-economics>
Why does not Uncovered Interest Parity hold exactly? Or does it?
TeX_novice
# Why does not Uncovered Interest Parity hold exactly? Or does it?

(Asked by: username_0 on 2023-04-09)

I am using the UIP condition before taking an approximation and, therefore, expecting UIP to hold exactly.
I want to understand why UIP calculated for a pair of currencies

a) does not hold exactly (in my example below the discrepancy between the rates of return is 0.0004 and increases with the scale of variables), and

b) why, when Home and Foreign are switched, the discrepancy between the rates of return changes to 0.000396. So the difference between the two discrepancies (home-foreign and foreign-home) is 0.000004.

* Example 1:

$(1+i\_t)=(1+i^\*\_t)S\_{t+1}/S\_t$

$i\_t = 5%$

$i^\*\_t = 4%$

$S\_{t+1} = 1.01$
$S\_t = 1$
$ROR^\* = 1.04\*1.01/1 = 1.0504$

$i\_t - ROR^\* = -0.0004$

* Example 2, Switching Home and Foreign:

$i\_t = 4%$

$i^\*\_t = 5%$

$S\_{t+1} = 1/1.01 = 0.990099$

$S\_t = 1$

$ROR^\* = 1.05\*0.990099/1 = 1.03960396$

$i\_t - ROR^\* = 0.00039604$

The discrepancy between two ways of calculation = 0.00039604 -0.0004 = -0.00000396

**Tags:** macroeconomics, international-economics
> **Comments:**
> **username_1**: Your question is not quite clear. It seems like you expect $$ i_t = i^*_t + S_{t+1} - S_t $$ to be true? If yes: as you write, this is just a linear approximation, so exact equality is not to be expected.  
> **username_1**: P.s.: Your MathJax is nice, keep it up!  
> **username_0**: Sorry about any confusion, but I used the following, non-linearized condition:  $(1+i_t)=(1+i^∗_t)S_{t+1}/S_t$  

---

## 1 answers

### Answer by username_2 on 2023-04-09. Score: 2 | Accepted answer

It is because your assumed values do not satisfy UIP. If you were to use values that would satisfy the condition, UIP would hold.
Using Python it looks like this:
s1, s , i_h, i_d = 1.01, 1, 0.05, 0.04
s1_computed = (1+i_h)/(1+i_d)*s
print(f'Computes S1 = {s1_computed}')

print(f'Swapped Home and Foreign = {1.05 * 1/s1_computed}')

Computes S1 = 1.0096153846153846 
Swapped Home and Foreign = 1.04

> **Comments:**
> **username_0**: OMG, how did I miss this!?  Thanks so much for your help!  
> **username_1**: "*It is because your assumed values do not satisfy UIP. If you were to use values that would satisfy the condition, UIP would hold.*" lol  

---

