Signal Exports

vBase

Introduction

validityBase enables you to create a globally credible, independently verifiable audit trail for trading track records, models and signals. This ensures anyone viewing your results can confirm that your results are point-in-time, complete, free from cherry-picking and fully out-of-sample.

QuantConnect users can use validityBase to publish live, verifiable, indices of their trading strategies and signals - increasing their credibility with allocators, clients and potential employers, and significantly increasing their commercial value. Integration is simple. With a single function call from your QuantConnect code, you can automatically build an immutable blockchain-backed audit trail for your signals and models.

Add Providers

To export signals to vBase from your algorithm, during initialization, add a vBase signal export provider.

SignalExport.AddSignalExportProvider(new VBaseSignalExport(apiKey, collectionName, storeStampedFile = true, idempotent = false));
self.signal_export.add_signal_export_provider(VBaseSignalExport(api_key, collection_name, store_stamped_file=True, idempotent=False))

The VBaseSignalExport constructor accepts the following arguments:

Argument: apiKeyapi_key

Your vBase API key. You can find it in your profile Account Settings tab.

Data Type: stringstr

Argument: collectionNamecollection_name

The name of the vBase collection to which the signals will be sent. You can create and manage collections in the vBase app Collections tab. Think of a collection like a strategy or dataset name.

Data Type: stringstr

Argument: storeStampedFilestore_stamped_file

Whether to store a stamped copy of the signal in vBase. Important if this is marked "no", then you will be responsible for maintaining an exact copy of your stamped data. Losing or accidentally modifying stamped outputs will prevent your work from being verifiable.

Data Type: bool | Default Value: Truetrue

Argument: idempotentidempotent

Whether to make the signal export idempotent. If true, sending the same signal multiple times will only create one record in vBase.

Data Type: bool | Default Value: Falsefalse

You can add multiple signal export providers to a single algorithm.

Asset Classes

Our vBase integration supports all asset classes.

Send Portfolio Targets

To send targets, pass a list of PortfolioTarget objects to the SetTargetPortfolioset_target_portfolio method. The method returns a boolean value indicating whether the targets were successfully sent to vBase.

What gets stamped? The provider builds a sym,wt (symbol-weight) CSV and, under the hood, uses PortfolioTarget.Percent to convert your absolute target quantities into portfolio weights. This ensures the stamp reflects the weighted sizing of your positions at the time of export. Default behavior can be customized by overriding the BuildCsv method of the VBaseSignalExport class.

var success = SignalExport.SetTargetPortfolio(targets);
success = self.signal_export.set_target_portfolio(targets)

You can also see our Videos. You can also get in touch with us via Discord.

Did you find this page helpful?

Contribute to the documentation: