Python - поделитесь информацией кто в теме

  1. Аватар Андрей К
    Replikant_mih, 
     Когда увидел Python после C# — офигел)) — как буквально за 5 строчек можно открыть файл csv и разобрать строчки на поля))
    на шарпе это делается тоже в несколько строчек
  2. Аватар zastava12
    Quant-Invest, пример приведи мне где на питоне одна строка заменяет несколько десятков страниц на C++! По поводу скорости benchmarksgame.alioth.debian.org/u64q/compare.php?lang=python3&lang2=gpp 
  3. Аватар Quant-Invest
    zastava12, так 1 строка на питоне это несколько (десятков) страниц на C++
    И быстрый старт не особо возможен. Новичкам я бы его не рекомендовал.
  4. Аватар evgen000
    Python норм, для разработки алгоплатформы подходит отлично, используйте, ни разу он не медленный.
  5. Аватар Sergey Alembekov

    Я бы на вашем месте выбирал бы язык не для написания робота, а язык для обучения программированию, раз вы новичек. И тут python очень хорошо подходит, благодаря автоматическому управлению памятью, динамической типизации и огромному количеству готовых библиотек. Он позволяет потратить минимум времени на освоение синтаксиса и сконцентрироваться на программировании как таковом.
    Если говорить о применимости к трейдингу, то зависит от вашего способа подключения к бирже: если это открытый протокол, типа FIX, то для него есть библиотеки на python. А вот если брокер поддерживает только quik или другой закрытый протокол, то всё усложняется  — тут надо смотреть на конкретную платформу и какие способы автоматизации предоставляют её разработчики.

    Говорить «python — медленный» — это проявление магического мышления: я возьму вот эту штуку и будет у меня медленная программа, а вот с другой штукой программа у меня будет быстрая. Глупость же. У любого языка есть свои архитектурные особенности и предметная область, о которых надо знать, что бы писать оптимальный код вот и всё. Для новичка, узким местом с большей вероятностью будет его алгоритм, а не скорость интерпретатора python (вообще реализаций python очень много, например PyPy в некоторых тестах обходит по скорости C. Можно ли в таком случае утверждать, что python быстрее С?)

  6. Аватар Евгений Попов
    Саханов Виталий, не спорю что возможно TSLAB это круто, но не все хотят возиться с языком узкой направленности. Учишь Python, не получилось в алготрейдинге — этот язык пригодится тебе в сфере IT (причем в разных направлениях: разработка, тестирование, администрирование, анализ данных для аналитика). Куда дальше со знаниями TSLAB?
  7. Аватар Саханов Виталий
    Я считаю, что удобнее осваивать тот язык программирования, который легко интегрируется с биржей на которой ты торгуешь. На мой взгляд для начинающих удобнее TSLAB и расширения для него написанные на C#. В этом случае ты сосредотачиваешься на стратегии, а не на кодировании. 
  8. Аватар Replikant_mih
    zastava12, Это тоже мне?) я не ищу лёгких, вернее, нашёл легкий, теперь пока лёгкий вариант удовлетворяет в процессе прорабатываю более навороченные))
  9. Аватар Replikant_mih
    zastava12, zastava12, Ну, в данном случае имел в виду любые проекты, представляющие из себя сложные системы. Сложные системы — системы из множеств подсистем со сложными взаимодействиями внутри подсистем и между подсистемами. Хотя звучит опять не слишком конкретно)
  10. Аватар Replikant_mih
    Я например, сейчас повышаю свои навыки в C#, всё-таки для серьёзных проектов он намного круче. Для практики всё стараюсь на нём писать, хотя знаю и Python, так вот — для простых вещей иногда срываюсь на Python)) — ну там csv открыть и поколдовать немного над данными и аналогичное — всё-таки там это делать в разы проще и даже приятней). Это к слову о различиях и особенностях языков. В идеале если время и мозг позволяет — иметь несколько языков и юзать в соответствии с текущими задачами и особенностями языка. Мне вот сложно в голове 2 языка держать на хорошем уровне), поэтому мой вариант — C# на хорошем и Python поверхностно — для простых быстрых задач большего на нём и не надо. Это мнение не нативного программиста, если что)
  11. Аватар zastava12
    stackoverflow.com/questions/2081418/parsing-csv-files-in-c-with-header тут есть тема по шарпу я не в никал, но там есть рекомендации по библиотекам для парсинга .csv!)
  12. Аватар Roman Ivanov
    Replikant_mih, а разве на C# нельзя то же самое?
  13. Аватар zastava12
    Питон в этом случае имеет наверное встроенную библиотеку для того что бы парсить  .csv формат. Я сам юзаю стороннию  бибилотеку для работы с .xml форматом. Я не думаю что это приемущество за 5 строк разобрать строчки на поля) ну каждому свое удачи))
  14. Аватар Replikant_mih
    zastava12, Подозреваю, что время на освоение C++ будет в разы больше, чем время на освоение Python, тоже самое по времени написания кода, выполняющего одно и то же. Когда увидел Python после C# — офигел)) — как буквально за 5 строчек можно открыть файл csv и разобрать строчки на поля))
  15. Аватар zastava12
     Если нужна помощь в освоение я могу помочь я сам самоучка. Могу помочь с библиотеками и т.д
  16. Аватар zastava12
    С++ очень не сложный язык если есть база, можно всего добиться почему именно питон?
  17. Аватар Replikant_mih
    Vasiliy, Ну эт да, вопрос в том, не перекроют ли эти доп. сложности, или сложности, связанные с этими моментами, плюсы языка), ну и да, это во многом субъективный вопрос.
  18. Аватар Vasiliy
    Replikant_mih, по этой ссылке можно найти различные способы ускорения выполнения расчетов на python. Проблем с интеграцией особых быть не должно, из python можно вызывать функции C++ и наоборот, для интеграции в платформу Net (С# и прочие языки) есть IronPython. С тем, что могут быть ошибки, некоторые из которых могут быть обнаружены на этапе компиляции в типизируемых языках, да, согласен, но кто мешает покрыть код тестами? При желании критические участки можно откомпилировать с помощью cython.
  19. Аватар day0markets.ru
  20. Аватар Антон Иванов
    Alex Hurko, получается, что для больших проектов альтернативы С нет?
  21. Аватар day0markets.ru

    Python — мощный язык для тестов и разработки алго. Код пишется в разы быстрее, чем на C#, Java и плюсах. Это актуально, поскольку 95% кода идет в корзину. Для торговли — возможно, это не лучшее решение, но если скорость не нужна, то почему бы и нет. Python шикарен в плане машинного обучения, анализа данных, веб-парсинга. 
    Как сказали выше, на python достаточно сложно вести большие проекты. Из-за «утиного» наследования легко запутаться даже в собственном коде. 

  22. Аватар Андрей К
    Maverick67, для прямого доступа на чем лучше?
  23. Аватар Антон Иванов
    Понятно, спасибо за информацию!
  24. Аватар Replikant_mih

    Язык хороший, для своей области применения, если пытаться натянуть его на не свою — будет неприятно), ну или не так приятно). Для анализа данных — самое оно — легко и быстро писать, куча специальных библиотек и т.д.

    Чтобы пилить на нём торгующие алгоритмы есть сложности — 1) скорость — питон медленный, а если скорость критична для стратегии — это будет неприятно. 2) на большом проекте особенности языка способствуют накоплению большего кол-ва ошибок, чем на других языках, у которых нет таких особенностей. 3) Я не нативный кодер, но по-моему с Python могут возникать сложности с интеграцией с различного рода сервисами — с биржами, торговыми платофрмами и т.д., те же примеры на Python будет найти гораздо сложнее, мне кажется.

    Так что если позволяют возможности — удобно знать пару языков, напримр, Python и C#.

  25. Аватар Maverick67
    Приветствую, Антон.
    Язык кода скрипта должен быть родным для платформы на которой торгуешь. Логично сначала понять на какой площадке и на какой платформе ты собираешься работать, там уже смотреть какие языки программирования она поддерживает. На некоторых платформах есть «мосты», которые конвертируют с одного языка на другой, на пример у Дукаскопи был мост с MQL на Java (родной). Стратегия написанная для МТ4 через мост транслируется на платформу. Но при таком варианте могут быть погрешности, а это риски.

Python - поделитесь информацией кто в теме

Уважаемые коллеги алготрейдеры,
Насколько я знаю, уважающее себя мировое сообщество алгописателей очень сильно любит язык программирования Python.
Вот пример (не сочтите за рекламу, этот сайт — не конкурент) https://www.quantopian.com, где большое количество людей кодит и тестит все что только возможно, и делает это на языке Python. Даже на Смарте иногда попадаются посты с алгоритмами на этом языке.

Так как я в программировании пока не очень, прошу знакомых с темой людей дать небольшие подсказки: есть ли смысл осваивать этот язык? Можно ли его применить на практике для торговли на Московской Бирже или он в России годится только для тестирования стратегий? Какие вообще плюсы, минусы и перспективы у этого языка?
Чтобы купить акции, выберите надежного брокера: