Избранное трейдера WooDoo
Обратил внимание, что многие не знают, как правильно оценить вечную облигацию. Однако, ее оценка существенно проще, чем оценка обычных облигаций. Давайте разберемся, как можно оценить бессрочную облигацию.
Как мы знаем внутреннюю (приведенную стоимость) облигации можно оценить с помощью следующей формулы потока платежей:Где:
CFn – купоны
NOMINAL – сумма, которую получит инвестор при погашении облигации
i – ставка доходности
n – год получения купона
N – последний год
PV – приведенная стоимость облигации
В бессрочной облигации нет погашения номинала – NOMINAL, и количество платежей бесконечно, тогда формула принимает вид:
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/ //@version=4 study("Historical Volatility") // Настройки окон HVPeriod1 = input(17, minval=1, title="Окно 1") HVPeriod2 = input(34, minval=1, title="Окно 2") HVPeriod3 = input(51, minval=1, title="Окно 3") HVPeriod4 = input(85, minval=1, title="Окно 4") // Настройка периода для сглаживания EMAPeriod = input(17, minval=2, title="Период сглаживания") // Собственно индикатор // мультипликатор, для нормирования к году mul = 252 * 1210 / timeframe.multiplier //приращение за бар ch = log(close) - log(close[1]) // Историческая волатильность в окнах HV1 = ema(sqrt(sum(ch * ch, HVPeriod1) * mul / HVPeriod1) * 100, EMAPeriod) HV2 = ema(sqrt(sum(ch * ch, HVPeriod2) * mul / HVPeriod2) * 100, EMAPeriod) HV3 = ema(sqrt(sum(ch * ch, HVPeriod3) * mul / HVPeriod3) * 100, EMAPeriod) HV4 = ema(sqrt(sum(ch * ch, HVPeriod4) * mul / HVPeriod4) * 100, EMAPeriod) // Рисуем красивое plot(HV1, color=#cccccc) plot(HV2, color=#ffcccc) plot(HV3, color=#ff9999) plot(HV4, color=#ff0000)Чтобы использовать, копируем, в TradingView открываем Редактор Pine, создаем там новый индикатор (Открыть -> Новый индикатор), удаляем все что там в скрипте по умолчанию и вставляем этот код. Жмем Сохранить. Дальше скрипт будет доступен в выпадающем списке над графиком под кнопкой Индикаторы во вкладке Мои скрипты. Модно, быстро и удобно )
Идея не нова, вопрос был только в реализации.
Платформа MetaTrader 5 обладает возможностями автоматизации Тестера. Расчет огромного количества данных на истории реальных тиков — обыденность.
Проверка адаптивности ТС — аналогично.
Однако, при большом количестве уже проведенных вычислений требуется разобрать эту кучу данных и найти в ней что-то, действительно, интересное.
Это можно делать двумя способами:
В первом случае получается быстро, но можно легко что-то упустить, действительно, важное.
Во втором случае все гораздо тщательнее, но очень много времени на это уходит. Элементарно утомить природную машину настолько, что больше никогда не захочется к этому возвращаться.
Привет всем. Чтобы не изобретать велосипеды #софты для просмотра структуры портфеля#.
Скачиваем R, RStduio. В RStudio устанавливаем библиотеки: rusquant, PerformanceAnalytics, PerformanceAnalytics.
Добавляем следующий код в RStudio.
Подключаем библиотеки:
library(rusquant) library(PerformanceAnalytics) library(PortfolioAnalytics)
tickers <- c("FXGD","IRAO") weights <- c(.5,.5) start_data <- "2014-01-01" PortPrices <- NULL
for(curr in tickers) { PortPrices <- cbind(PortPrices, getSymbols(curr, src = 'Finam', auto.assign = FALSE)[,4]) }
benchmark <- getSymbols("MICEX", src = "Finam", auto.assign = FALSE)[,4] benchmarkRet <- na.omit(ROC(benchmark))Тоже самое для портфеля акций, плюс считаем портфель и включаем ребалансировку каждый месяц.
PortReturn <- na.omit(ROC(PortPrices)) PortRet <- Return.portfolio(PortReturn, weights = weights, rebalance_on = "month")
PortCum <- cumsum(PortRet) Micex <- cumsum(benchmarkRet)