Ответы на вопросы

Ответы на вопросы | Почему для разработки торгового робота чаще всего используется С#? Почему не Java? В чем преимущества С# от Java?

Почему для разработки торгового робота чаще всего используется С#? Почему не Java? В чем преимущества С# от Java?
★2
42 комментария
В готовых библиотеках.
avatar
dagh, а можно поподробнее
avatar
Freman, Microsoft создал уже кучу годового кода. Оформил это все в библиотеки и назвал это .Net. То есть, чтобы создавать сложные приложения, нужно затратить минимум усилий. dagh наверное это имел ввиду.
avatar
Андрей К, в джаве тоже самое
avatar
dagh, Это единственный правильный ответ.
На C# уже в биржевой среде создана вся инфраструктура.  Поэтому легко внедрить  робота на C#.

Можно и на JAVA, что дороже и дольше. А важен в конечном итоге результат, а не на чем написано.
Кто что знает, тот на том и пишет
в западные конторы почему то требуются именно java. И в западных алго блогах тоже доминирует java
avatar
Андрей К, а рунете в основном С# почему то?
avatar
Freman, ну русский человек любит халяву. в Шарпе много задач вывели в .net. Пользуй не хочу =)
avatar
Андрей К, уточняйте западные европейские или североамериканские
у одних преобладает java у дргих c#
avatar
Андрей К, где это они доминируют?

просто сейчас изучаю Java, Python. заинтересовала тема торговых роботов, и везде пишут С#, можно ли написать ТС на джаве, почему лучше использовать С#, а не Java?  
avatar
Freman, язык вторичен
avatar
Freman, APi для с# есть практически для всех торговых систем для Java придется еще поискать, на слуху только TWS…
Ну если нужны библиотеки и разработка вне платформы то питон для него безконкурентно есть финмата. Плюсы актуально лишь для быстротрейдеров где милисекунда это дофига
avatar
Дар Ветер, просто из любопытства, нафига библиотеки при разработке робота? Матана в рамках робота я думаю хватает в библиотеках на любом языке.

По существу вопроса у C# вижу большой минус в виде vendor-lock-in и слабую кросс-платформенность. Для себя предпочел бы комбинацию Си/C++/Haskell по мере снижения требований к скорости.

avatar
Displacer, я тоже не знаю, все что может понадобиться и сверх того есть равнозначно что в дотнет что в джава EE. Вот если нужны такие штуки как ML, готовые механизмы обработки статданных — то или питон или R. Но это больше для моделирования, для трейдинга не супер. Если работать через API то лучше опять же или дотнет или джава.

По моему опыту управления проектами и их стоимостью, для большинства задач проще взять железо сильнее чем пытаться работать с более низкоуровневыми системами. Отдача от среды ускоряющей и упрощающей разработку гораздо выше, чем от попытке сделать самый оптимальный код.
avatar
Дар Ветер, ну так то да, в любом случае, жаву и дотнет бы не рассматривал, ибо тормоза от виртуальной машины и vendor-lock-in, а в случае с c# еще и недружественность к линуксу. С питоном особо не хочется вообще иметь дело, также тормоз + язык постоянно в доработке, как я наблюдаю, бета-тестером быть не хочется. Так что остается то, что я уже называл выше, ну и да, к R тоже отношусь положительно.

PS: кстати говоря в Quik-e народ грамотно сделал плагины на Lua. Сам то Quik полный шлак, но то, что можно с ним работать через Lua — очень грамотный ход, для народа, кому что-то надо побыстрому написать и кто не слишком большой профессионал думаю очень удобно.
avatar
Displacer, такое чувство, что у вас опыт 15-летней давности. Торговая платформа Интерактив написана на джаве целиком. Отлично работает. Тоже самое — у Дукаскопи. Квантопиан работает на питоне и они явно знают что делают — платформа номер один в мире для количественного анализа. Что-то вы видимо не с того конца смотрите )) Может i386 пора обновить опять же )
avatar
Дар Ветер, ну так то понятно, когда берется ентерпрайз, надо собрать кучу индусов и заставить их по быстрому закодить какой-то конечный продукт, чтобы выкинуть на рынок раньше всех, то да, появляются различные франкенштейны на жаве и дотнете, которые ценой неимоверных усилий уже потом удается допилить до приемлемого состояния наймом уникальных специалистов по конкретному языку за магабаксы денег. Впрочем, опыт действительно у всех разный, каждому своё. Может я со своим хаскелем и в самом деле отстал от жизни ;)

avatar
С питоном особо не хочется вообще иметь дело, также тормоз + язык постоянно в доработке

Displacer, питон — довольно зрелый язык, куча всего публичного на нём работает, включая многие высоконагруженные сервисы GOOG (это к вопросу о тормозах)
avatar
Lev, ну да, ну да, зрелый язык. У меня в системе в слотах аж три варианта стоит этого «зрелого языка» — (2.7) (3.4) (3.5) и на подходе (3.6). Каждый нужен для какой-то софтины. Регулярно приходится запускать python-updater.
avatar
Displacer, так это уже вопросы к софтописателям, а не к самому языку
avatar
Displacer, насчет Lua оно может и так, а может и не так… Писать без полноценной IDE развлечение еще то... 
Displacer, на сколько серьезным может быть этот минус — «vendor-lock-in и слабую кросс-платформенность», где, на каком этапе разработки это может вылезти. 
avatar
Freman, это вылезает не на этапе разработки, а через 3-5-10 лет. Где нынче Sun Microsystems, какой-нибудь Cobol или Дельфи?
avatar
Displacer, с делфи кстати можно на Московскую биржу устроиться =)
avatar
Freman, да никак…, вопрос из ряда, а вдруг атомная война…
Displacer, шарп на линух кстати сейчас легко переносится, с минимум усилий.
avatar
Что лучше знаешь на том и пиши.
Мне С# показался понятней чем ява, на нем я несколько больше сумел напрограммировать =)
avatar
уточню свой вопрос. 1 этап:
— торг. платформа QUIK,
— есть небольшой депозит который не жалко потерять, на котором хочу экспериментировать, учиться писать робота,
— супер пупер скорость пока не нужна (С++ отменяется)
— количество сделок небольшое (для начала главное не кол-во а качество)
— торговля не с сервера, не с колокации а с домашнего ПК, с перспективой дальнейшего переноса на сервер поближе к бирже (2 этап)
— основные цели 1 этапа
1. научиться качественно писать ТС, стратегию, бэктестинг, понять как работает система: ТС-брокер-биржа. 
2. изучить ЯП на котором можно будет найти работу джуном, и дальше развиваться в направлении- «программирование + трейдинг». 
как то так =)
avatar
Freman, самый оптимальный вариант — это с# и коннектор от s#… В этом случае вы экономите кучу времени… и сможете работать над стратегией, а не писать кучу «вспомогательного» софта...
Ко мне на блог synapseslot.ru для интереса сходите…
Ранее за бугром корпоративный стандартом был java + Oracle. Сейчас не знаю. У нас все сидели на платформах от Microsoft, поэтому писали на С++, а потом перешли на С#, так как легко было это сделать.
Поэтому если Вы в Роcсии, то пишите на С# — нормальный универсальный язык, если будете писать для зарубежных платформ, то познакомиться с javа придется.
Да и не забудьте, что поднимает голову Linux, там есть С++ и java, C# там нет. Как впрочем и Квика под Linux тоже пока нет, наверное.
avatar
_sg_, шарп на линуксе есть уже как год
avatar
А как относитесь к mql5?
avatar
подскажите хорошие курсы, сайты для изучения С#
avatar
Freman, а Си++ куда делся?
avatar
Freman, книжка Троелсена..., также можете почитать книжки Вашего ник-тезки…

Запад хочет джаву потому, что там умеют считать деньги: забить стойку серверов с линуксами для ресеча — это затраты только на железо и свой торговый софт.

 

А забить стойку серверами с виндой — значит приплюсовать к этому огромные расходы на ОС + тратиться на обновки каждые два-три года.

avatar
Потому что Ява это .... 



avatar
потому что Java не для десктопных побрякушек, в основном Java используют для бекэнда, где не нужно перезапускать приложения
avatar
 С# тухлое бесперспективное гавно, поэтому и используется в трейдинге, где юзают самый отстой технологий
avatar

теги блога Рамиль

....все тэги



UPDONW
Новый дизайн