Quantopian's community platform is shutting down. Please read this post for more information and download your code.
Back to Community
Include call to external code or upload executable

Hi,

Is it possible, in any way, for the python code to invoke an external program, either located in the Quantopian servers or in a remote machine? I have a specialised algorithm designed in C++, I could, for instance, upload a Linux executable and call it with a system command from Python. Is there any way to do this or all code must be done within a single python file?

Thanks,
Chicoscience

2 responses

What is the purpose of the external program? Is it feeding external data into your algo? If so, you can use Fetcher. Otherwise, all of the code logic needs to be contained in the algorithm. It won't support calls to outside servers. If you're trying to run computations before market open, you can add it to the functionbefore_trading_start.

Disclaimer

The material on this website is provided for informational purposes only and does not constitute an offer to sell, a solicitation to buy, or a recommendation or endorsement for any security or strategy, nor does it constitute an offer to provide investment advisory services by Quantopian. In addition, the material offers no opinion with respect to the suitability of any security or specific investment. No information contained herein should be regarded as a suggestion to engage in or refrain from any investment-related course of action as none of Quantopian nor any of its affiliates is undertaking to provide investment advice, act as an adviser to any plan or entity subject to the Employee Retirement Income Security Act of 1974, as amended, individual retirement account or individual retirement annuity, or give advice in a fiduciary capacity with respect to the materials presented herein. If you are an individual retirement or other investor, contact your financial advisor or other fiduciary unrelated to Quantopian about whether any given investment idea, strategy, product or service described herein may be appropriate for your circumstances. All investments involve risk, including loss of principal. Quantopian makes no guarantees as to the accuracy or completeness of the views expressed in the website. The views are subject to change, and may have become unreliable for various reasons, including changes in market conditions or economic circumstances.

Dear Alisa, thanks for your reply.

I have a solver developed in C++ which implements a Branch-and-cut algorithm for a specialised Optimisation model for portfolio selection. Due to the complexity involved, reimplementing it in Python would be very time-consuming and maybe impossible, as I am unaware if Python has good branch-and-bound libraries and, if they exist, these libraries allow callbacks for the separation of valid cuts for the optimisation model.

So, I don't want to feed any external data, all I want is to solve certain problems which may be too much for Python to handle. It would be good enough for me if I could make a call to my C++ solver, even if its executable is located somewhere in the Quantopian server (in the same folder as the Python script I would write).

Thanks,
Cristiano