Избранное трейдера jk555
4 года и 4 месяца прошло с выхода поста «Торговый робот на LUA для QUIK» (https://smart-lab.ru/blog/200767.php) про конструктор Lbot. За это время он повзрослел, лишился графического интерфейса и… превратился в младшего брата для Lbot3D. И если раньше для Lbot была пробная версия (с одним инструментом и одним лотом), то теперь, фактически, сам превратился в пробную версию для Lbot3D и, с этого дня, предоставляется в свободное пользование с полным функционалом:
Скачать Lbot180.zip можно тут: drive.google.com/open?id=1DL9jGEBm2Uhk89PcQdlK-ObaOe2zihnx
INI-файл написан для демо-QUIK на 3 инструмента — Сбербанк, Газпром и Лукойл. Стратегия на Газпроме — безиндикаторная, на Сбербанке — на скользящих средних, на Лукойле — на пересечениях MACD.
encoding = "UTF-8" FREQUENCY = 1000 account = NL0011100043, 10110 PositionSize = 300000 xy = 421, 0, 859, 118 ;------------------------------------------------------------------------------- [GAZP] Security = GAZP, QJSIM, Gazp_moex WorkSize = 3 // рабочий объем, в штуках; LossLimit = 100 // ограничение на убыток по стратегии OpenSlippage = 10 // допустимое проскальзывание на сделке, в количестве минимальных шагов цены; OpenLong = {Close, 1} < {High, 2} // цена 'close' предыдущей 'полной' свечи превысила 'high' предшествующего ей бара; OpenShort = {Close, 1} > {Low, 5-2} // цена 'close' предыдущей 'полной' свечи принизила 'low' 5-2 баров; StopLoss = 2 TakeProfit = 3, 1, 1 EOD = 18:29:00 //закрытия позиции в указанное время. autoBot = Y [SBER] Security = SBER, QJSIM, Sber_moex WorkSize = 10 LossLimit = 100 OpenSlippage = 10 OpenLong = {Ema1} > {Ema2} CloseLong = {Ema1} < {Ema2} OpenShort = {Ema1} < {Ema2} CloseShort = {Ema1} > {Ema2} autoBot = Y [LKOH] WorkSize = 2 Security = LKOH, QJSIM, Lkoh_moex LossLimit = 225 OpenSlippage = 10 OpenLong = cross(macd_Lkoh.0, macd_Lkoh.1) OpenShort = cross(macd_Lkoh.1, macd_Lkoh.0) ;OpenLong = {Close, 1} < {Low, 5-2} ;OpenShort = {Close, 1} > {High, 2} StopLoss = 30 TakeProfit = 50, 10, 10 autoBot = Y
Я заметил тенденцию в финансовых СМИ говорить о том, что активно управляемые фонды не опережают рынок с учетом их комиссий, как будто это то, что мы только недавно обнаружили. Фактически, для тех, кто был готов искать доказательства, основанные на реальных данных, были доступны уже очень давно.
Вы могли бы утверждать, что этот процесс начал французский математик Луи Башелье. В своей докторской диссертации 1900 года «Теория спекуляций» Башелье продемонстрировал, что цены акций движутся таким случайным образом, что «математическое ожидание спекулянта равно нулю».
Однако, именно американец по имени Альфред Коулз III был первым человеком, который измерил эффективность биржевых прогнозистов эмпирически.
Alfred Cowles III
Рожденный в Чикаго и 1891 году и получивший образование в Йельском университете, Коулз стал успешным бизнесменом. Но его истинныой страстью были экономика и статистика. Один вопрос, в частности, занимал его ум — можно ли победить фондовый рынок? — и в 1927 году он решил найти ответ.
Некоторое время назад после подробного обсуждения с коллегами вопроса "Нормален ли рынок и если ненормален, то какой он на самом деле?" от других коллег прозвучало недоумение: "А зачем тебе копаться в этих дебрях? Какой в этом смысл?". Короткий ответ будет неполным, а полный ответ с примерами и философским вопросом может оказаться интересен (или даже полезен коллегам).
Как работает научное мышление: необходимо не просто запомнить формулу (зачастую даже собственно запоминание формулы даже не является целью изучения вопроса). Фокус будет находиться на методе получения этой формулы. Причем должны быть абсолютно прояснены все подробности: почему? откуда это следует? какие есть ограничения? и т.д.
--переменные keyRateCB = 7.5 classCode = "TQOB" function CreateTable() t_id = AllocTable() AddColumn(t_id, 0, "Бумага", true, QTABLE_STRING_TYPE, 15) AddColumn(t_id, 1, "Цена", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 2, "Доходность, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 3, "Дюрация, лет", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 4, "Купон, %", true, QTABLE_DOUBLE_TYPE, 15) AddColumn(t_id, 5, "Премия к ЦБ, бп", true, QTABLE_INT_TYPE, 15) AddColumn(t_id, 6, "Погашение", true, QTABLE_STRING_TYPE, 15) t = CreateWindow(t_id) SetWindowCaption(t_id, "ОФЗ") end function string.split(str, sep) local fields = {} str:gsub(string.format("([^%s]+)", sep), function(f_c) fields[#fields + 1] = f_c end) return fields end function getParamNumber(code, param) return tonumber(getParamEx(classCode, code, param).param_value) end function formatData(prm) return string.format("%02d.%02d.%04d", prm%100, (prm%10000)/100, prm/10000) end CreateTable() arr = {} sec_list = getClassSecurities(classCode) sec_listTable = string.split(sec_list, ',') j = 0 for i = 1, #sec_listTable do secCode = sec_listTable[i] securityInfo = getSecurityInfo(classCode, secCode) short_name = securityInfo.short_name if short_name:find("ОФЗ 26") ~= nil then j = j + 1 r = {} r["short_name"] = short_name r["price"] = getParamNumber(securityInfo.code, "PREVPRICE") r["yield"] = getParamNumber(securityInfo.code, "YIELD") r["duration"] = getParamNumber(securityInfo.code, "DURATION")/365 couponvalue = getParamNumber(securityInfo.code, "COUPONVALUE") couponperiod = getParamNumber(securityInfo.code, "COUPONPERIOD") r["coupon"] = ((365/couponperiod) * couponvalue)/10 r["bonus"] = (r["yield"] - keyRateCB)*100 r["mat_date"] = getParamNumber(securityInfo.code, "MAT_DATE") table.insert(arr, j, r) end end table.sort(arr, function(a,b) return a["duration"] < b["duration"] end) for j = 1, #arr do row = InsertRow(t_id, -1) SetCell(t_id, row, 0, arr[j]["short_name"]) price = arr[j]["price"] SetCell(t_id, row, 1, string.format("%.2f", price), price) yield = arr[j]["yield"] SetCell(t_id, row, 2, string.format("%.2f", yield), yield) duration = arr[j]["duration"] SetCell(t_id, row, 3, string.format("%.2f", duration), duration) coupon = arr[j]["coupon"] SetCell(t_id, row, 4, string.format("%.2f", coupon), coupon) bonus = arr[j]["bonus"] SetCell(t_id, row, 5, string.format("%.0f", bonus), bonus) mat_date = arr[j]["mat_date"] SetCell(t_id, row, 6, formatData(mat_date), mat_date) end
Я предлагаю сегодня поговорить, про спрос на деньги так как именно сегодня это очень важная макропеременная. И я понимаю, что для многих это будет трудно для понимания, но я постараюсь использовать как можно больше базовых терминов, чтоб стать была понятной хотя бы пятидесяти процентам трейдеров использующих фундаментальные причины в экономике.
Правильно считать, что ФРС контролирует предложение денег, но тут нужно понимать, что спрос на деньги зависит и от множества других факторов, некоторые из которых находятся за пределами ФРС. Давно не секрет, что любой центральный банк обеспечивает низкую и стабильную инфляцию за счёт поддержания баланса спроса и предложения на деньги. Поскольку, инфляция всегда и везде является обычным денежным явлением, и как факт — инфляция это результат избытка денег по отношению к спросу на нее. Это очень просто, но к сожалению, многие люди, включая ФРС, не говорят об этом.
Я практически не встречал статей, про денежный спрос на деньги (скорость М2) но тут давайте поговорим про этот восходящий тренд.
Всем доброго времени суток! С вами Чеширский.
Сколько ваших знакомых брали квартиру в ипотеку как «инвестицию»? У меня уже вторые знакомые взяли квартиру в ипотеку, как «инвестицию»!
Ну вроде как денежные средства позволяли и они влезли в этот ад, мотивируя тем, что это отличное подспорье на будущее! Мол и деньги вложатся и потом еще и в аренду будут сдавать, считай почти бесплатная ипотека. Красота. Может и вы так думаете? Я попытался объяснить им, и решил что хочу написать небольшой опус на эту тему. Сейчас я продемонстрирую почему «инвестиции» в ипотеку — это одна из самых хреновых идей, которые только могут быть.
Давайте пройдем весь путь от самого начала.
Начнем с того, что выбирая квартиру стоит оценивать риски. То есть вы должны руководствоваться в выборе не аргументами «красивый дом» и «ремонт вроде как есть» а конкретными факторами, которые будут влиять на будущую финансовую привлекательность. А именно:
1. Транспортная доступность.