Quantitative Solutions for Power Trading

Software development

Software development

Software development

We are keen on developing high-performance software. Nothing brings more satisfaction than implementing efficient algorithms to witness an increase in performance by a factor of one hundred or more. One example is when we developed an API for a customer and improved the data import speed from 10-40 records per second to 1,200 records per second.1 The API that we later implemented for our internal use reaches an average speed of 25,000 records per second2 in a similar setup.

We develop software mostly in C++ and utilize our best knowledge of how to write efficient code - using high-performance algorithms and different optimization techniques, wherever possible.

Data processing software. We have developed a product to evaluate the quality of forecasts and to build an optimal forecast using the theory of forecast combinations; a wind power forecasting model; a database client for migration and synchronization of data between different types of databases; a highly efficient multi-threaded meteorological GRIB data processing software; an Excel addin that integrates with the Brady POMAX system for power trading and outperforms the native POMAX client software in data transfer speed; ...and other automation, data processing, and visualization tools. Our software has been thoroughly designed to provide optimal experience to the user in terms of functionality and performance, has convenient and well-designed GUIs, and is easy to use. We also make CLI versions for automation and scripting.

Development of APIs and web services. The latter are implemented mostly in raw PHP, yet we may use a framework of your choice. We prefer to do everything from scratch3 - deploying web servers and building backend custom IT infrastructures, making UIs, working on the frontend, doing testing, integration and etc. We pay a lot of attention to detail, performance, and security.

Performing intensive computations. We have our own datacenter where we run CUDA computations on expensive, high-performance hardware.4

Automation software. We have a lot of experience in building VBA scripts and low-level C++ CLI programs to automate power trading tasks. This saved our clients the amount of "human-hours" equivalent to manual work of several full-time employees.

We are looking forward to taking on challenging software development projects, even if you need something that does not fit in what is described above, and not necessarily in the domain of power trading.

1 The existing API was developed for our customer by another company and used MS SQL database; It had import speed between 10 and 40 records per second depending on the number of concurrent requests. The customer requested a new API and hired us to migrate the whole system to an Oracle database. We were bound by the constraint that it was not possible to tweak the Oracle database design (since it was administered by another company) and also that the API only had access to the target tables, yet we still managed to obtain on average 90 times faster import speed!

2 Since we had full control over the database server, we implemented a smarter way of importing data using temporary in-memory tables and memory-mapped files, and tweaked our database server for optimal performance. Importing 1,577,328 records into a table that already contains 838,941,384 records, occupies 120GB of storage, and has two indexed columns and one composite primary key, takes place at an average speed of up to 25,000 records per second (to be more precise, between 20,000 and 45,000 records per second depending on how much new data is being imported - importing new data is slower than updating existing values since in the latter case one does not have to rebuild the index).

3 For the sake of performance, since using existing frameworks one has less control, and frameworks are often too heavy and bloated, and not optimized for performance but rather for "ease" and speed of writing the code. It is like comparing C and Python. We like low level.

4 Such as e.g. enterprise grade NVidia GPUs and Samsung SSDs, high-end RAID and HBA controllers for fast access and processing of big data, and etc.

Copyright © 2024 QuantPower AB

quantpower.com and quantpower.se are the only official public websites of QuantPower AB. Other websites purporting to be associated with QuantPower AB are not legitimate.

Cookies Policy | Privacy Policy