UKForex accepted Finland as the place of residency.
Some data about the spread costs at different amounts of selling Norwegian Krones so the constants a and b are euro-values:
// 50000 NOK
>>> a = 6665.35
>>> b = 6787.60
>>> ave = (a+b)/2
>>> diff = b-a
>>> diff / ave
0.018174452443516106
// 5000 NOK
>>> a = 656.7
>>> b = 678.76
>>> ave = (a+b)/2
>>> diff = b-a
>>> diff / ave
0.03303730549773103 // too high spread cost, since at the regular bank 2.5%
// 20000 NOK
>>> a = 2659.76
>>> b = 2715.04
>>> ave = (a+b)/2
>>> diff = b-a
>>> diff / ave
0.02057006772345008
// 10000 NOK
>>> a = 1322.60
>>> b = 1356.75534
>>> ave = (a+b)/2
>>> diff = b-a
>>> diff / ave
0.025495192436849397
// We are near the critical point
// 100 000 NOK
>>> a = 13539.95
>>> b = 13567.5534
>>> ave = (a+b)/2
>>> diff = b-2
>>> diff = b-a
>>> diff / ave
0.002036587404799511
The critical point is in exchanging 11000 NOK to EUR in UKForex when the spread cost gets less than 2.5%.
The spread cost is excellent, 0.2%, when chancing 100 kNOK to euros.
Python 2.7.9 Function count.currency.rate.py
# 2000 euro 26.6.2017
# python count.currency.rate.py 18870.75 18908.76
# Output: Currency exchange expense: 0.00201220185227
#
# For https://money.stackexchange.com/a/20277/1627
import sys
a1 = float( sys.argv[1] )
b1 = float( sys.argv[2] )
def count.currency.rate(a=a1, b=b1):
# a google currency rate, b destination currency rate; or reverse
ave = (a+b)/2
diff = abs(b-a)
result = diff/ave
print("Currency exchange expense: %s" % result)
if __name__ == "__main__":
count.currency.rate(a1, b1)