Когда увидел Python после C# — офигел)) — как буквально за 5 строчек можно открыть файл csv и разобрать строчки на поля))на шарпе это делается тоже в несколько строчек
Я бы на вашем месте выбирал бы язык не для написания робота, а язык для обучения программированию, раз вы новичек. И тут python очень хорошо подходит, благодаря автоматическому управлению памятью, динамической типизации и огромному количеству готовых библиотек. Он позволяет потратить минимум времени на освоение синтаксиса и сконцентрироваться на программировании как таковом.
Если говорить о применимости к трейдингу, то зависит от вашего способа подключения к бирже: если это открытый протокол, типа FIX, то для него есть библиотеки на python. А вот если брокер поддерживает только quik или другой закрытый протокол, то всё усложняется — тут надо смотреть на конкретную платформу и какие способы автоматизации предоставляют её разработчики.
Говорить «python — медленный» — это проявление магического мышления: я возьму вот эту штуку и будет у меня медленная программа, а вот с другой штукой программа у меня будет быстрая. Глупость же. У любого языка есть свои архитектурные особенности и предметная область, о которых надо знать, что бы писать оптимальный код вот и всё. Для новичка, узким местом с большей вероятностью будет его алгоритм, а не скорость интерпретатора python (вообще реализаций python очень много, например PyPy в некоторых тестах обходит по скорости C. Можно ли в таком случае утверждать, что python быстрее С?)
Python — мощный язык для тестов и разработки алго. Код пишется в разы быстрее, чем на C#, Java и плюсах. Это актуально, поскольку 95% кода идет в корзину. Для торговли — возможно, это не лучшее решение, но если скорость не нужна, то почему бы и нет. Python шикарен в плане машинного обучения, анализа данных, веб-парсинга.
Как сказали выше, на python достаточно сложно вести большие проекты. Из-за «утиного» наследования легко запутаться даже в собственном коде.
Язык хороший, для своей области применения, если пытаться натянуть его на не свою — будет неприятно), ну или не так приятно). Для анализа данных — самое оно — легко и быстро писать, куча специальных библиотек и т.д.
Чтобы пилить на нём торгующие алгоритмы есть сложности — 1) скорость — питон медленный, а если скорость критична для стратегии — это будет неприятно. 2) на большом проекте особенности языка способствуют накоплению большего кол-ва ошибок, чем на других языках, у которых нет таких особенностей. 3) Я не нативный кодер, но по-моему с Python могут возникать сложности с интеграцией с различного рода сервисами — с биржами, торговыми платофрмами и т.д., те же примеры на Python будет найти гораздо сложнее, мне кажется.
Так что если позволяют возможности — удобно знать пару языков, напримр, Python и C#.