nautechsystems / nautilus_trader

A high-performance algorithmic trading platform and event-driven backtester
https://nautilustrader.io
GNU Lesser General Public License v3.0
1.95k stars 445 forks source link

Alpaca Broker Support #1781

Closed madhueadara closed 2 weeks ago

madhueadara commented 1 month ago

Alpaca Broker Support - Feature Request

Would like to request support for Alpaca Broker which is a startup and provides APIs for equity, options and crypto trading. It has a robust API for data and trade integration and built on modern technology platform.

Why Alpaca? We use IBKR for our daily trading - however IBKR still has very legacy way of providing the data and transaction support using IBKR gateway and not a scalable way onboarding retail accounts. It is not suitable for startup like us, who wants to build an algo trading platform for retail users and utilize the APIs to open a trading account and hook it up to the Nautilus trader as the execution platform for providing algo trading services.

Having a reliable way to integrate Alpaca would be great extension to the Nautilus trader platform and provide enhanced adaptability for startups to leverage the best of both platforms.

Our Usecase We are a small shop working on trading models. Me and my partners are finance experts with very little python experience - let alone build a production quality broker integration what is reliable enough to run money for retail users. Having an official alpaca integration would help startups like us as well as many others leverage the awesome Nautilus Trader platform for building algos both for equities as well as options.

(FYI: Alpaca has 'unofficial' backtrader integration. It supports running multiple algos via using a proxy, which is not required for Nautilus Trader as it has the Trading Node / Venue Concept internally. Please see the link to the repo below)

More info regarding Alpaca below:

Alpaca Homepage: https://alpaca.markets/ Alpaca Python SDK: https://alpaca.markets/sdks/python/ Github: https://github.com/alpacahq/alpaca-py Options API: https://docs.alpaca.markets/docs/options-trading Market data: https://docs.alpaca.markets/docs/about-market-data-api (Supports both the HTTP as well as websocket) Execution Client API: https://docs.alpaca.markets/docs/trading-api Alpaca backtrader integration: https://github.com/alpacahq/alpaca-backtrader-api Alpaca Proxy: https://github.com/camelpac/alpaca-proxy-agent

P.S: Please let me know if I can support building this feature request in any way I can (like sponsoring a developer or volunteer? or cloud credits or any other way I can) I can do manual testing and help with the initial brainstorming on walking through the Alpaca API but that is the limit of my python experience.

Thanks in advance and you are building an awesome platform!!

cjdsellers commented 1 month ago

Hi @madhueadara

Thank you for reaching out and providing your context and some resource links.

At this point Alpaca wouldn't be high on the list of priorities and may also be redundant to some of our other data integrations such as Databento.

Having said that, I wouldn't rule it out entirely without deeper investigation. At this point, with the demands of the port of the core platform to Rust - new features and integrations are moving very slowly and rely a lot on contributor involvement.