В этом примере показано, как оценить европейский азиатский опцион с помощью шести методов в Toolbox™ финансовых инструментов. Этот пример демонстрирует четыре замкнутых приближения формы (Кемна-Ворст, Леви, Тернбулл-Уэйкман и Хауг-Хауг-Марграб), модель решетки (Кокс-Росс-Рубинштейн) и моделирование Монте-Карло. Все эти методы включают некоторые компромиссы между численной точностью и вычислительной эффективностью. Этот пример также демонстрирует, как колебания спотовых цен, волатильность и ударные цены влияют на цены опционов на европейские ванильные и азиатские опционы.
Азиатские опционы - это ценные бумаги с выплатами, которые зависят от средней стоимости базового актива за определенный период времени. Основными активами могут быть акции, товары или финансовые индексы.
На рынке встречаются два типа азиатских опционов: опционы средней цены и опционы средней страйк. Опционы средней цены имеют фиксированное значение страйка, а используется средняя цена основного средства. Средние варианты страйка имеют страйк, равный средней стоимости базового актива.
Окупаемость при погашении среднеазиатского опциона средней цены составляет:
) для вызова
) для пут
Погашение при погашении среднего страйк европейского азиатского опциона составляет:
) для вызова
) для пут
где Savg - средняя цена базового актива, St - цена при погашении базового актива, а K - цена страйка.
Среднее значение может быть арифметическим или геометрическим.
Toolbox™ по финансовым инструментам поддерживает четыре закрытые аппроксимации для европейских опционов средней цены. Метод Кемны-Ворста основан на среднем геометрическом значении цены базового в течение срока действия опциона [1]. Модели Леви и Тернбулла-Уэйкмана представляют собой закрытое ценовое решение для вариантов непрерывного арифметического усреднения [2,3]. Аппроксимация Хауга-Хауга-Марграбе используется для расчета цен на варианты дискретного арифметического усреднения [4].
Все функции расчета цены asianbykv, asianbylevy, asianbytw, и asianbyhhm взять структуру срока процентной ставки и структуру запасов в качестве входных данных.
Рассмотрим следующий пример:
% Create RateSpec from the interest rate term structure StartDates = '12-March-2014'; EndDates = '12-March-2020'; Rates = 0.035; Compounding = -1; Basis = 1; RateSpec = intenvset('ValuationDate', StartDates, 'StartDates', StartDates, ... 'EndDates', EndDates, 'Rates', Rates, 'Compounding', ... Compounding, 'Basis', Basis); % Define StockSpec with the underlying asset information Sigma = 0.20; AssetPrice = 100; StockSpec = stockspec(Sigma, AssetPrice); % Define the Asian option Settle = '12-March-2014'; ExerciseDates = '12-March-2015'; Strike = 90; OptSpec = 'call'; % Kemna-Vorst closed form model PriceKV = asianbykv(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates); % Levy model approximation PriceLevy = asianbylevy(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates); % Turnbull-Wakeman approximation PriceTW = asianbytw(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates); % Haug-Haug-Margrabe approximation PriceHHM = asianbyhhm(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates); % Comparison of calculated prices for the geometric and arithmetic options % using different closed form algorithms. displayPricesClosedForm(PriceKV, PriceLevy, PriceTW, PriceHHM)
Comparison of Asian Arithmetic and Geometric Prices: Kemna-Vorst: 11.862580 Levy: 12.164734 Turnbull-Wakeman: 12.164734 Haug-Haug-Margrabe: 12.108746
В дополнение к приближениям закрытой формы, Toolbox™ финансовых инструментов поддерживает ценообразование европейских опционов средней цены с использованием деревьев CRR через функцию asianbycrr.
Функция расчета цены решетки asianbycrr принимает дерево процентных ставок ( CRRTree ) и структура акций в качестве входных данных. Можно оценить предыдущие опции, построив CRRTree используя структуру срока процентной ставки и спецификацию запаса из приведенного выше примера.
% Create the time specification of the tree NPeriods = 20; TreeValuationDate = '12-March-2014'; TreeMaturity = '12-March-2024'; TimeSpec = crrtimespec(TreeValuationDate, TreeMaturity, NPeriods); % Build the tree CRRTree = crrtree(StockSpec, RateSpec, TimeSpec); % Price the European Asian option using the CRR lattice model. % The function 'asianbycrr' computes prices of arithmetic and geometric % Asian options. AvgType = {'arithmetic';'geometric'}; AmericanOpt = 0; PriceCRR20 = asianbycrr(CRRTree, OptSpec, Strike, Settle, ExerciseDates,... AmericanOpt, AvgType); % Increase the numbers of periods in the tree and compare results NPeriods = 40; TimeSpec = crrtimespec(TreeValuationDate, TreeMaturity, NPeriods); CRRTree = crrtree(StockSpec, RateSpec, TimeSpec); PriceCRR40 = asianbycrr(CRRTree, OptSpec, Strike, Settle, ExerciseDates,... AmericanOpt, AvgType); % Display prices displayPricesCRR(PriceCRR20, PriceCRR40)
Asian Prices using the CRR lattice model: PriceArithmetic(CRR20): 11.934380 PriceArithmetic(CRR40): 12.047243 PriceGeometric (CRR20): 11.620899 PriceGeometric (CRR40): 11.732037
Результаты выше сравнивают результаты расчета как геометрических, так и арифметических азиатских вариантов с использованием деревьев CRR с 20 и 40 уровнями. По мере увеличения количества уровней результаты приближаются к решениям закрытой формы.
Еще один метод оценки европейских опционов средней цены с помощью Toolbox™ финансовых инструментов - моделирование Монте-Карло.
Функция расчета цены asianbyls принимает структуру срока процентной ставки и структуру запаса в качестве входных данных. Время вывода и выполнения моделирования Монте-Карло зависит от количества трактов ( NumTrials и количество периодов времени на тракт ( NumPeriods ).
Можно оценить те же опции предыдущих примеров с помощью Monte Carlo.
% Simulation Parameters NumTrials = 500; NumPeriods = 200; % Price the arithmetic option PriceAMC = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', NumTrials, ... 'NumPeriods', NumPeriods); % Price the geometric option PriceGMC = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', NumTrials, ... 'NumPeriods', NumPeriods, 'AvgType', AvgType(2)); % Use the antithetic variates method to value the options Antithetic = true; PriceAMCAntithetic = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', NumTrials, 'NumPeriods',... NumPeriods, 'Antithetic', Antithetic); PriceGMCAntithetic = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', NumTrials, 'NumPeriods',... NumPeriods, 'Antithetic', Antithetic,'AvgType', AvgType(2)); % Display prices displayPricesMonteCarlo(PriceAMC, PriceAMCAntithetic, PriceGMC, PriceGMCAntithetic)
Asian Prices using Monte Carlo Method: Arithmetic Asian Standard Monte Carlo: 12.304046 Variate Antithetic Monte Carlo: 12.304046 Geometric Asian Standard Monte Carlo: 12.048434 Variate Antithetic Monte Carlo: 12.048434
Использование вариационной антитетики ускоряет процесс преобразования, уменьшая дисперсию.
Можно создать график для отображения разницы между геометрической азиатской ценой с помощью модели Кемны-Ворста, стандартной модели Монте-Карло и антитетической цены Монте-Карло.
nTrials = [50:5:100 110:10:250 300:50:500 600:100:2500]'; PriceKVVector = PriceKV * ones(size(nTrials)); PriceGMCVector = nan(size(nTrials)); PriceGMCAntitheticVector = nan(size(nTrials)); TimeGMCAntitheticVector = nan(length(nTrials),1); TimeGMCVector = nan(length(nTrials),1); idx = 1; for iNumTrials = nTrials' PriceGMCVector(idx) = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', iNumTrials, 'NumPeriods',... NumPeriods,'AvgType', AvgType(2)); PriceGMCAntitheticVector(idx) = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', iNumTrials, 'NumPeriods',... NumPeriods, 'Antithetic', Antithetic,'AvgType', AvgType(2)); idx = idx+1; end figure('menubar', 'none', 'numbertitle', 'off') plot(nTrials, [PriceKVVector PriceGMCVector PriceGMCAntitheticVector]); title 'Variance Reduction by Antithetic' xlabel 'Number of Simulations' ylabel 'Asian Option Price' legend('Kemna-Vorst', 'Standard Monte Carlo', 'Variate Antithetic Monte Carlo ', 'location', 'northeast');

На приведенном выше графике показано, как уменьшается колебание в моделируемой цене при использовании различных антитетиков.
Цены, рассчитанные методом Монте-Карло, варьируются в зависимости от результата моделирования. Увеличение NumTrials и проанализировать результаты.
NumTrials = 2000; PriceAMCAntithetic2000 = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle, ExerciseDates,... 'NumTrials', NumTrials, 'NumPeriods', NumPeriods, 'Antithetic', Antithetic); PriceGMCAntithetic2000 = asianbyls(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates,'NumTrials', NumTrials, 'NumPeriods',... NumPeriods, 'Antithetic', Antithetic,'AvgType', AvgType(2)); % Comparison of calculated Asian call prices displayComparisonAsianCallPrices(PriceLevy, PriceTW, PriceHHM, PriceCRR40, PriceAMCAntithetic, PriceAMCAntithetic2000, PriceKV, PriceGMCAntithetic, PriceGMCAntithetic2000)
Comparison of Asian call prices: Arithmetic Asian Levy: 12.164734 Turnbull-Wakeman: 12.164734 Haug-Haug-Margrabe: 12.108746 Cox-Ross-Rubinstein: 12.047243 Monte Carlo(500 trials): 12.304046 Monte Carlo(2000 trials): 12.196848 Geometric Asian Kemna-Vorst: 11.862580 Cox-Ross-Rubinstein: 11.732037 Monte Carlo(500 trials): 12.048434 Monte Carlo(2000 trials): 11.932017
Приведенная выше таблица контрастирует результаты моделей закрытого приближения с моделированием цен, осуществляемым с использованием деревьев CRR и Monte Carlo.
Азиатские варианты являются популярными инструментами, поскольку они, как правило, менее дороги, чем сопоставимые ванильные звонки и ставит. Это связано с тем, что волатильность в среднем значении нижнего слоя имеет тенденцию быть ниже, чем волатильность в значении самого нижнего слоя.
Toolbox™ «Финансовые инструменты» поддерживает несколько алгоритмов ценообразования на ванильные опционы. Сравним цену азиатских опционов с их аналогом Vanilla.
Во-первых, рассчитайте цену европейского варианта ванили с помощью модели Black Scholes.
PriceBLS = optstockbybls(RateSpec, StockSpec, Settle, ExerciseDates,... OptSpec, Strike); % Comparison of calculated call prices. displayComparisonVanillaAsian('Prices', PriceBLS, PriceKV, PriceLevy, PriceTW, PriceHHM)
Comparison of Vanilla and Asian Prices: Vanilla BLS: 15.743809 Asian Kemna-Vorst: 11.862580 Asian Levy: 12.164734 Asian Turnbull-Wakeman: 12.164734 Asian Haug-Haug-Margrabe: 12.108746
Как геометрические, так и арифметические азиаты ценятся ниже, чем их ванильный аналог.
Цены опционов можно анализировать на различных уровнях базового основного средства. С помощью Toolbox™ «Финансовые инструменты» можно наблюдать влияние различных параметров на цену опционов. Рассмотрим, например, влияние колебаний цены базового актива.
StockPrices = (50:5:150)'; PriceBLS = nan(size(StockPrices)); PriceKV = nan(size(StockPrices)); PriceLevy = nan(size(StockPrices)); PriceTW = nan(size(StockPrices)); PriceHHM = nan(size(StockPrices)); idx = 1; for So = StockPrices' SP = stockspec(Sigma, So); PriceBLS(idx) = optstockbybls(RateSpec, SP, Settle, ExerciseDates,... OptSpec, Strike); PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, Strike, Settle,... ExerciseDates); PriceLevy(idx) = asianbylevy(RateSpec, SP, OptSpec, Strike, Settle,... ExerciseDates); PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, Strike, Settle,... ExerciseDates); PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, Strike, Settle,... ExerciseDates); idx = idx+1; end figure('menubar', 'none', 'numbertitle', 'off') plot(StockPrices, [PriceBLS PriceKV PriceLevy PriceTW PriceHHM]); xlabel 'Spot Price ($)' ylabel 'Option Price ($)' title 'Call Price Comparison' legend('Vanilla', 'Geometric Asian', 'Continuous Arithmetic Asian (1)', 'Continuous Arithmetic Asian (2)', 'Discrete Arithmetic Asian', 'location', 'northwest');

Можно заметить, что цена азиатского варианта дешевле, чем цена варианта Vanilla.
Также можно наблюдать влияние изменений волатильности базового актива. В таблице ниже показано, что происходит с азиатскими и ванильными опционными ценами при изменении постоянной волатильности.
Call Option (ITM)
Strike = 90 AssetPrice = 100
-------------------------------------------------------------------------------------
Volatility Haug-Haug-Margrabe Turnbull-Wakeman Levy Kemna-Vorst BLS
10% 11.3946 11.3987 11.3987 11.3121 13.4343
20% 12.1087 12.1647 12.1647 11.8626 15.7438
30% 13.5374 13.6512 13.6512 13.0338 18.8770
40% 15.2823 15.4464 15.4464 14.4086 22.2507
Сравнение расчетных цен показывает, что азиатские опционы менее чувствительны к изменениям волатильности, поскольку усреднение снижает волатильность стоимости базового актива. Кроме того, азиатские варианты, использующие среднее арифметическое, дороже, чем те, которые используют среднее геометрическое.
Теперь изучите влияние забастовки на цены опционов.
Strikes = (90:5:120)'; NStrike = length(Strikes); PriceBLS = nan(size(Strikes)); PriceKV = nan(size(Strikes)); PriceLevy = nan(size(Strikes)); PriceTW = nan(size(Strikes)); PriceHHM = nan(size(Strikes)); idx = 1; for ST = Strikes' SP = stockspec(Sigma, AssetPrice); PriceBLS(idx) = optstockbybls(RateSpec, SP, Settle, ExerciseDates,... OptSpec, ST); PriceKV(idx) = asianbykv(RateSpec, SP, OptSpec, ST, Settle,... ExerciseDates); PriceLevy(idx) = asianbylevy(RateSpec, SP, OptSpec, ST, Settle,... ExerciseDates); PriceTW(idx) = asianbytw(RateSpec, SP, OptSpec, ST, Settle,... ExerciseDates); PriceHHM(idx) = asianbyhhm(RateSpec, SP, OptSpec, ST, Settle,... ExerciseDates); idx = idx+1; end figure('menubar', 'none', 'numbertitle', 'off') plot(Strikes, [PriceBLS PriceKV PriceLevy PriceTW PriceHHM]); xlabel 'Strike Price ($)' ylabel 'Option Price ($)' title 'Effect of Strike on Option Prices' legend('Vanilla', 'Geometric Asian', 'Continuous Arithmetic Asian (1)', 'Continuous Arithmetic Asian (2)', 'Discrete Arithmetic Asian', 'location', 'northeast');

На рисунке выше показана цена опциона относительно цены страйка. Поскольку стоимость опциона колла уменьшается по мере роста цены страйка, азиатская кривая колла находится под кривой колла ванили. Можно заметить, что азиатский колл-вариант дешевле, чем ванильный.
Хеджирование является страховкой для минимизации воздействия рыночных движений на стоимость позиции или портфеля. По мере того, как основные изменения изменяются, пропорции инструментов, формирующих портфель, могут нуждаться в корректировке для поддержания чувствительности в желаемом диапазоне. Delta измеряет чувствительность цены опциона к изменениям цены андерлаинга.
Предположим, что у вас есть портфель из двух вариантов с одинаковой страйк и зрелостью. Для вычисления можно использовать Toolbox™ Финансовые инструменты. Delta для вариантов «Ваниль» и «Средняя цена».
OutSpec = 'Delta'; % Vanilla option using Black Scholes DeltaBLS = optstocksensbybls(RateSpec, StockSpec, Settle, ExerciseDates,... OptSpec, Strike, 'OutSpec', OutSpec); % Asian option using Kemna-Vorst method DeltaKV = asiansensbykv(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates, 'OutSpec', OutSpec); % Asian option using Levy model DeltaLevy = asiansensbylevy(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates, 'OutSpec', OutSpec); % Asian option using Turnbull-Wakeman model DeltaTW = asiansensbytw(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates, 'OutSpec', OutSpec); % Asian option using Haug-Haug-Margrabe model DeltaHHM = asiansensbyhhm(RateSpec, StockSpec, OptSpec, Strike, Settle,... ExerciseDates, 'OutSpec', OutSpec); % Delta Comparison displayComparisonVanillaAsian('Delta', DeltaBLS, DeltaKV, DeltaLevy, DeltaTW, DeltaHHM)
Comparison of Vanilla and Asian Delta: Vanilla BLS: 0.788666 Asian Kemna-Vorst: 0.844986 Asian Levy: 0.852806 Asian Turnbull-Wakeman: 0.852806 Asian Haug-Haug-Margrabe: 0.857864
Следующий график демонстрирует поведение Delta для ванильных и азиатских опционов в зависимости от базовой цены.
StockPrices = (40:5:120)'; NStockPrices = length(StockPrices); DeltaBLS = nan(size(StockPrices)); DeltaKV = nan(size(StockPrices)); DeltaLevy = nan(size(StockPrices)); DeltaTW = nan(size(StockPrices)); DeltaHHM = nan(size(StockPrices)); idx = 1; for SPrices = StockPrices' SP = stockspec(Sigma, SPrices); DeltaBLS(idx) = optstocksensbybls(RateSpec, SP, Settle, ... ExerciseDates, OptSpec, Strike, 'OutSpec', OutSpec); DeltaKV(idx) = asiansensbykv(RateSpec, SP, OptSpec, Strike, ... Settle, ExerciseDates,'OutSpec', OutSpec); DeltaLevy(idx) = asiansensbylevy(RateSpec, SP, OptSpec, Strike,... Settle, ExerciseDates, 'OutSpec', OutSpec); DeltaTW(idx) = asiansensbytw(RateSpec, SP, OptSpec, Strike, ... Settle, ExerciseDates,'OutSpec', OutSpec); DeltaHHM(idx) = asiansensbyhhm(RateSpec, SP, OptSpec, Strike, ... Settle, ExerciseDates,'OutSpec', OutSpec); idx = idx+1; end figure('menubar', 'none', 'numbertitle', 'off') plot(StockPrices, [DeltaBLS DeltaKV DeltaLevy DeltaTW DeltaHHM]); xlabel 'Spot Price ($)' ylabel 'Call Delta' title 'Delta Comparison (Strike Price = $90)' legend('Vanilla', 'Geometric Asian', 'Continuous Arithmetic Asian (1)', 'Continuous Arithmetic Asian (2)', 'Discrete Arithmetic Asian', 'location', 'northwest');

Вариант вызова Vanilla или Asian в денежном (ITM) более чувствителен к изменению цен, чем вариант out of money (OTM). Если цена актива глубоко в деньгах, то она скорее всего будет реализована. Обратное происходит для варианта «вне денег». Азиатская дельта ниже для опционов на деньги и выше для опционов на деньги, чем ее ванильный европейский аналог. Геометрическая дельта Азии ниже арифметической дельты Азии.
[1] Кемна, А. и Ворст, А. «Метод ценообразования для опционов на основе средней стоимости активов». Журнал банковских и финансовых операций. т. 14, 1990, стр. 113-129.
[2] Levy, E. «Ценовые европейские валютные опционы средней ставки». Журнал международных денег и финансов. Т. 11 1992, стр. 474-491.
[3] Тернбулл, С. М., и Уэйкман, Л.М. «Быстрый алгоритм ценообразования на европейские средние опционы». Журнал финансового и количественного анализа. Том 26 (3), 1991, стр. 377-389.
[4] Хауг, Е. Г. Полное руководство по формулам опционной цены. Макгроу-Хилл, Нью-Йорк, 2007.
function displayPricesClosedForm(PriceKV, PriceLevy, PriceTW, PriceHHM) fprintf('Comparison of Asian Arithmetic and Geometric Prices:\n'); fprintf('\n'); fprintf('Kemna-Vorst: %f\n', PriceKV); fprintf('Levy: %f\n', PriceLevy); fprintf('Turnbull-Wakeman: %f\n', PriceTW); fprintf('Haug-Haug-Margrabe: %f\n', PriceHHM); end function displayPricesCRR(PriceCRR20, PriceCRR40) fprintf('Asian Prices using the CRR lattice model:\n'); fprintf('\n'); fprintf('PriceArithmetic(CRR20): %f\n', PriceCRR20(1)); fprintf('PriceArithmetic(CRR40): %f\n', PriceCRR40(1)); fprintf('PriceGeometric (CRR20): %f\n', PriceCRR20(2)); fprintf('PriceGeometric (CRR40): %f\n', PriceCRR40(2)); end function displayPricesMonteCarlo(PriceAMC, PriceAMCAntithetic, PriceGMC, PriceGMCAntithetic) fprintf('Asian Prices using Monte Carlo Method:\n'); fprintf('\n'); fprintf('Arithmetic Asian\n'); fprintf('Standard Monte Carlo: %f\n', PriceAMC); fprintf('Variate Antithetic Monte Carlo: %f\n\n', PriceAMCAntithetic); fprintf('Geometric Asian\n'); fprintf('Standard Monte Carlo: %f\n', PriceGMC); fprintf('Variate Antithetic Monte Carlo: %f\n', PriceGMCAntithetic); end function displayComparisonAsianCallPrices(PriceLevy, PriceTW, PriceHHM, PriceCRR40, PriceAMCAntithetic, PriceAMCAntithetic2000, PriceKV, PriceGMCAntithetic, PriceGMCAntithetic2000) fprintf('Comparison of Asian call prices:\n'); fprintf('\n'); fprintf('Arithmetic Asian\n'); fprintf('Levy: %f\n', PriceLevy); fprintf('Turnbull-Wakeman: %f\n', PriceTW); fprintf('Haug-Haug-Margrabe: %f\n', PriceHHM); fprintf('Cox-Ross-Rubinstein: %f\n', PriceCRR40(1)); fprintf('Monte Carlo(500 trials): %f\n', PriceAMCAntithetic); fprintf('Monte Carlo(2000 trials): %f\n', PriceAMCAntithetic2000); fprintf('\n'); fprintf('Geometric Asian\n'); fprintf('Kemna-Vorst: %f\n', PriceKV); fprintf('Cox-Ross-Rubinstein: %f\n', PriceCRR40(2)); fprintf('Monte Carlo(500 trials): %f\n', PriceGMCAntithetic); fprintf('Monte Carlo(2000 trials): %f\n', PriceGMCAntithetic2000); end function displayComparisonVanillaAsian(type, BLS, KV, Levy, TW, HHM) fprintf('Comparison of Vanilla and Asian %s:\n', type); fprintf('\n'); fprintf('Vanilla BLS: %f\n', BLS); fprintf('Asian Kemna-Vorst: %f\n', KV); fprintf('Asian Levy: %f\n', Levy); fprintf('Asian Turnbull-Wakeman: %f\n', TW); fprintf('Asian Haug-Haug-Margrabe: %f\n', HHM); end
asianbycrr | asianbyeqp | asianbyhhm | asianbyitt | asianbykv | asianbylevy | asianbyls | asianbystt | asianbytw | asiansensbyhhm | asiansensbykv | asiansensbylevy | asiansensbyls | asiansensbytw