Комментарии
- В рамках БШ арбитраж не возможен. Безрисковые прибыльные комбинации су...
q-trader - не уверен в отсутствии арбитража при данной схеме вычисления стоимости...
Руслан - Работа предстоит огромная
EVVA - Хорошо пишете, жизненно. Все-таки, для того, чтобы делать по-настоящем...
Харита - Рекомендую также ознакомится с продолжением темы http://q-trading.ru/i...
q-trader
Краткий обзор возможностей MATLAB |
20.08.2010 14:29 |
MATLAB, пожалуй, наиболее мощная программа для обработки данных. Название происходит от сокращенного MATrix LABoratory – матричная лаборатория. Как и гласит название, MATLAB – идеальная среда для работы с многомерными данными, представимыми в виде таблиц (или, на математическом языке, – матриц). Именно к такому классу данных относится большинство финансовой информации: котировки, индикаторы, макроэкономическая статистика и т.п. За мощность, правда, приходится платить. MATLAB не столь прост в освоении, как, например, Excel, – начинающих может отпугнуть командная строка. Однако он того стоит. Многие задачи в MATLAB решаются гораздо проще и быстрее, чем в том же Excel. К тому же для многих функций в MATLAB имеется привычный графический интерфейс, а командная строка на практике оказывается не так уж и страшна, и, возможно, спустя какое-то время вам даже станет удобнее работать непосредственно через нее. На картинке можно увидеть пример рабочего пространства в среде MATLAB:
Какие функции MATLAB могут быть актуальны для трейдера/инвестора? 1. Общие функции работы с данными: добавление и удаление элементов таблицы, сортировка, преобразование и т.п. К примеру, в MATLAB очень быстро можно перевернуть «вверх ногами» колонку котировок при помощи функции flipud(), так что вверху будут находиться более старые данные, а внизу – более новые. Это актуально при работе с некоторыми источниками котировок, напр., yahoo.finance, котировки с которых загружаются наоборот (сверху – новые, снизу – старые). 2. Математические функции. Возможности применения математики ограничены лишь нашей фантазией. Это же утверждение применимо и к мат.функциям. MATLAB имеет огромное количество таких встроенных функций, начиная от элементарных, напр., логарифмической, и заканчивая специальными, такими как гамма-функция и т.д. Эти функции используются в качестве «кирпичиков» при решении практически любой задачи. 3. Численные методы: интегралы и оптимизаторы. Необходимость обращения к ним обычно возникает при оптимизации портфеля, а также в управлении капиталом и риском. Задачи оптимизации в MATLAB решаются при помощи специального набора функций Optimization Toolbox. Пользователь задает начальные веса портфеля или параметры торговой системы, а MATLAB по специальным алгоритмам перебирает их, пока не будет достигнута оптимальная комбинация. 4. Статистические функции и прогнозирование: среднее арифметическое, среднее геометрическое, стандартное отклонение (волатильность), корреляции, распределения вероятностей, генераторы случайных чисел, регрессия, факторный анализ, кластерный анализ и мн. др. Эти функции пригодятся при тестировании и оптимизации торговых систем и портфелей, визуализации и поиске зависимостей в котировках. К этой же группе функций можно отнести и Neural Network Toolbox – мощный инструмент прогнозирования временных рядов. На рисунке: подгонка распределения к дневным доходностям EUR/USD при помощи Distribution Fitting Tool
5. Специальные пакеты (Toolboxes) финансовых функций:
Также поклонникам теханализа может пригодиться Filter Design Toolbox для разработки индикаторов ТА на базе цифровых фильтров. Это весьма популярное направление в «наукоемком» теханализе. В MATLAB имеется удобный редактор функций (Editor). С его помощью можно значительно автоматизировать рутинные задачи, комбинируя используемые при их решении встроенные функции в целые блоки пользовательских функций. Есть даже возможность создания для этих функций графического интерфейса (GUI) в привычном для Windows оконно-кнопочном стиле. На рисунке: пример написания пользовательской функции в редакторе
Перечислять возможности MATLAB можно очень долго. Это довольно сложная программа. Однако время, потраченное на ее изучение, с лихвой окупится за счет открывшихся новых возможностей обработки и анализа финансовых данных. © q-trader
|
Комментарии
Руслан.
Распределения - в смысле выборочную гистограмму или теоретическую линию по формуле?
Кросс-плот - диаграмма рассеяния (грфическая корреляция двух величин)?
МО по параметру не оч. понял тоже. Если просто найти МО какого то массива значений это функция mean(x), x - вектор, допустим, доходностей и т.п.
0. Самое простое расскажеите пожалуйста - как загрузить эту базу в Матлаб таким образом, чтобы значения со значком % грузились как цифры, а не как текст.
1. Построить столбиковую гистограмму по профиту. По вершинам столбиков идет гладкая линия.
2. Кросс-плот. Например каждая сделка идет со своими показателями MAE MFE. Построить рассеяние по оси Х - мае, а по оси Y - профит.
3. Mean - это же среднеарифметич еское вроде.
Это будет корректно или надо по другому его находить?
%125
%130
?
Тогда просто в любом текстовом процессоре, напр. в ворде удаляем эти символы. Делаем заменить "%" на "пустоту"
Потом этот почищенны файл грузим в МАТЛАБ
1. Проще всего через Distribution Fitting Tool в меню или dfittool в командной строке. Там вылезет графическая оболочка интуитивно вполне понятная. Там и гистограмма и теор линия и еще много всяких штук
2. scatter(x,y) или через граф интерфейс в Workspace
3. Смотря для каких целей. Иногда лучше ср. арифм иногда ср.геом
3. Ведь по большому счету можно запустить КРУГ .. КВИК-МАТЛАБ-ОМЕГА-ЭКСЕЛЬ (или переставить как лучше)так как есть и ДЛЛ и передача прием в Эксель.
И САМОЕ ГЛАВНОЕ ВАМ не будет цены если ВЫ начнете с того что разжуете нам как это все соединить в РЕАЛТАЙМЕ. Запустите для обсуждения ветки с названиями..
-Квик-Матлаб
-Омега-Матлаб
-Матлаб-Эксель
-Омега-Эксель
Оживите их и народ подтянется!! Извините за длинную просьбу, но если не Вы, то пока других не наблюдаю на этом поле))
....http://images.google.ru/images?ndsp=18&um=1&hl=ru&lr=&newwindow=1&q=market+profile&start=0&sa=N.....В Экселе http://forex.kbpauk.ru/showflat.php/Cat/0/Number/163948/an/0/page/0/gonew/1#UNREAD.... В Квике http://forex.kbpauk.ru/showflat.php/Cat/0/Number/286111/an/0/page/0#Post286111
Почитал кое-что по сабжу. С DDE Матлаб вроде не очень дружит, но вроде можно через COM
тик1
тик2
тик3
...
В таком случае матлаб будет беспроблемно их подгружать. Но не факт что с конца терминала легко организовать такой способ передачи в экзель. У меня под рукой метатрейдер и он, например, только передает по DDE биды и аски в одну ячейку. В таком случае последовательно записывать котировки должен сам матлаб. А вот это пока непонятно как сделать. Причем если нужны именно тиковые а не периодические данные кажется еще сложнее. Правда период обновления можно сделать хоть 10 секундным
Запускаем КВИК. В нем допустим уже настроен экспорт в Экзель. Предположим, что в колонку "A" у нас записываются биды. Тогда КВИК запишет первый тик в ячеку А1, второй в ячеку А2, третий в A3 и т.д.? То есть он будет сохранять их в Экзеле в колонке "А" и продолжать ее вниз по мере поступления новых данных? Так?
Ниже приведен кусок работающего кода по передаче информации из таблицы всех сделок из Квика в Матлаб посредством ODBC. К сожалению, дописать нормальный цикл получения данных никак не доходят руки. При наличии желания добить тему вывода реал тайм данных в Матлаб, готов поучавствовать в консорциуме:-)
`mysql`-утилита Роберта Альгрема,
num,dt,tm...-переменные среды Матлаба,
Number_,date_,t ime_...- поля моей базы данных (MySQL).
Функция делает выборку сделок по фьючерсу на индекс РТС за 20.01.2011.
mysql('open','localhost','root','*****');
mysql('use database_name');
mysql('SET character_set_c lient="cp1251"');
mysql('SET character_set_c onnection="cp1251"');
mysql('SET character_set_r esults="cp1251"');
for i=0:2
[ num,dt,tm,aka,n m,cc,cl,pr,qu,v ol,op] = mysql('select number_,date_,t ime_,aka_,name_ ,code_class,cla ss_,price_,quan tity_,volume_,o peration_ from database_name WHERE name_ LIKE "%RIH-1%" AND date_ LIKE "2011-01-20"');
end
Да, мускул необходим, но я не вижу в этом проблемы. Я, не имея опыта работы с БД, установил и настроил все недели за полторы.
А возможно ли реализовать связку Матлаб и jforex (дукаса). Чтоб все делать в матлабе, а данные и торговлю вести в jforex (платформа дукаскопи).
http://www.dukascopy.com/swiss/english/forex/jforex/forum/search.php?keywords=matlab&what=k&t=0&submit=Search
Правда у меня с английским не очень.
А если открывать в самом дукасе в швейцарском, то там от 5000 долларов.
Условия торгов, комиссионные одинаковы. Разница, только в регистрации и все.
RSS лента комментариев этой записи