Over the last 15 years, we’ve all seen Python mature into the language of choice for most quant developers and data scientists, thanks to its simplicity, versatility, and list of powerful third-party libraries. To that list, SFS is adding its brand-new Python library, which will allow users to programmatically interact with their Quotient servers. This library is packed with advanced features focused on offering unparalleled power, flexibility, and capability to Quotient’s Python users.
Scientific Financial Systems’ flagship product Quotient™ provides an advanced analytical engine that simplifies data cataloging, calculations, time-series operations, aggregations, and fetches. Quotient includes powerful modules for factor building, backtesting, portfolio construction, etc.
In this blog, we will summarize the primary features and benefits of our new Python library. Then we will walk through some real-world use cases.
What is Quotient’s new Python Library?
Quotient’s Python library contains a robust set of Pythonic methods that allow Python developers to interact with Quotient’s suite of data and calculation services, powered by a RESTful API.
By leveraging the Python programming language, the library offers users a robust and effective way to integrate directly into their Python applications various functionalities, such as data fetching, data analysis, factor development, and production processing.
Key Features of Quotient’s Python library Include:
• Seamless Integration: Developers of all skill levels can now easily include the power of Quotient in their Python programs across a wider array of platforms, tools, and systems. This ensures that businesses continue to make the most out of their existing infrastructures.
• Enhanced Performance: Leverage the power of Snowflake’s distributed computational platform in your Python programs to perform large data calculations and aggregations.
• Information Security: Security has always been a top priority for us. The library has built-in features to handle user authentication and TLS encryption to ensure that your data remains protected.
• Owning your calculations: Using the Quotient library in the client environment ensures that proprietary and sensitive algorithms are under the client’s full control.
• Pythonic Design: Embracing the Python philosophy, Quotient’s new library is written in a clear, concise, and readable manner. Using Python best practices like method chaining, developers will find syntax within the library aligns well their expectations.
• Dynamic Customization: With a more flexible design, users can now use this library’s functionality according to their specific needs, ensuring a bespoke solution that aligns perfectly with their goals.
• User-friendly Documentation: Comprehensive and intuitive online documentation, filled with examples, assists developers in easily understanding and utilizing the full potential of the library.
Real-World Use Cases
The possible applications for Quotient’s Python library are vast, but here are five exciting use cases to pique your interest:
Data Analytics – Python developers can now streamline data processing and visualization by:
• Directly fetching raw, calculated and/or aggregated data, filtered for universes and time ranges, and standardized by security master identifiers from the Quotient server.
• Transform results directly into Pandas dataframes
• Perform additional calculations using Python’s rich ecosystem of analytic libraries
• Save/Persist results to a Database if needed for sharing or reporting
• Visualize results from within Python using graphics libraries like Matplotlib or Seaborn
• Visualize and share results in Quotient using integrated Sigma Graphics
Self-Service Data Abstraction Layer – Users can find and fetch complex data right into Pandas dataframes from multiple internal and commercial sources without needing direct help from internal Systems or Data Teams.
Leveraging the Power of Snowflake – From any computer or workstation, Python applications can push large data calculations and aggregations to Snowflake, returning the results into Pandas dataframes. In this way, even low powered laptops can now easily leverage the power of the cloud.
Keep Sensitive Calculations Local – As Quants ourselves, we appreciate that some users don’t want calculations and algorithms to leave their local control. While clients already manage their own Quotient servers, they now have a second option: to retrieve data using our Python library and keeping their IP algorithms on their computers.
Automation – Using the Quotient Python library, some clients have easily automated repetitive tasks, such as iterating through Backtest variations.
Quotient’s Python Library Roadmap
At SFS, we have a long list of feature enhancements planned for our Quotient library, ensuring that our library remains at the forefront of technology. This includes plans to bring the power of The Quble™ to local Python sessions so that users don’t need to “dumb down” their data into Pandas when performing calculations. To learn more about how Qubles harness the power of Snowflake SQL to deliver more scalable and performant Python solutions, please see our previous blog “Quotient now integrates Sigma Computing.”
Summary
We are truly excited about the potential of Quotient’s new Python library. With these enhancements, we believe that investment teams of all sizes will be better equipped to streamline their workflows and deliver superior value to their customers.
There’s something for everyone in this Python library, whether you’re a Python newbie or a seasoned developer. Our integration guide makes it easy to learn our library methods and start simplifying your financial data retrieval and calculation needs.
For existing customer, it’s simple to add our new library to your Python environment and start harnessing the power of your Quotient server.
For more information on Quotient, Quble and our integration with Snowflake, and, of course, our new Python library, please contact Anne Millington at [email protected].