Skip to content

BitcoinMetadata

QuantConnect.DataSource.BitcoinMetadata

BitcoinMetadata()

Bases: BaseData

Blockchain Bitcoin Metadata dataset

Constructor for initialising the dase data class

difficulty

difficulty: float

A relative measure of how difficult it is to find a new block. The difficulty is adjusted periodically as a function of how much hashing power has been deployed by the network of miners.

my_wallet_numberof_users

my_wallet_numberof_users: float

Number of wallets hosts using our My Wallet Service.

average_block_size

average_block_size: float

The average block size in MB.

blockchain_size

blockchain_size: float

The total size of all block headers and transactions. Not including database indexes.

median_transaction_confirmation_time

median_transaction_confirmation_time: float

The median time for a transaction to be accepted into a mined block and added to the public ledger (note: only includes transactions with miner fees).

miners_revenue

miners_revenue: float

Total value of coinbase block rewards and transaction fees paid to miners.

hash_rate

hash_rate: float

The estimated number of tera hashes per second (trillions of hashes per second) the Bitcoin network is performing

cost_per_transaction

cost_per_transaction: float

The miners revenue divided by the number of transactions.

cost_percentof_transaction_volume

cost_percentof_transaction_volume: float

The miners revenue as percentage of the transaction volume.

estimated_transaction_volume_usd

estimated_transaction_volume_usd: float

The Estimated Transaction Value in USD value.

estimated_transaction_volume

estimated_transaction_volume: float

The total estimated value of transactions on the Bitcoin blockchain (does not include coins returned to sender as change).

total_output_volume

total_output_volume: float

The total value of all transaction outputs per day (includes coins returned to the sender as change).

numberof_transactionper_block

numberof_transactionper_block: float

The average number of transactions per block.

numberof_unique_bitcoin_addresses_used

numberof_unique_bitcoin_addresses_used: float

The total number of unique addresses used on the Bitcoin blockchain.

numberof_transactions_excluding_popular_addresses: float

The total number of Bitcoin transactions, excluding those involving any of the network's 100 most popular addresses.

total_numberof_transactions

total_numberof_transactions: float

The Total Number of transactions.

numberof_transactions

numberof_transactions: float

The number of daily confirmed Bitcoin transactions.

total_transaction_fees_usd

total_transaction_fees_usd: float

The total value of all transaction fees in USD paid to miners (not including the coinbase value of block rewards).

total_transaction_fees

total_transaction_fees: float

The total value of all transaction fees in Bitcoin paid to miners (not including the coinbase value of block rewards).

market_capitalization

market_capitalization: float

The total USD value of bitcoin supply in circulation, as calculated by the daily average market price across major exchanges.

total_bitcoins

total_bitcoins: float

The total number of bitcoins that have already been mined; in other words, the current supply of bitcoins on the network.

my_wallet_numberof_transaction_per_day

my_wallet_numberof_transaction_per_day: float

Number of transactions made by My Wallet Users per day.

my_wallet_transaction_volume

my_wallet_transaction_volume: float

24hr Transaction Volume of our web wallet service.

symbol

symbol: Symbol

Symbol representation for underlying Security

data_type

data_type: MarketDataType

Market Data Type of this data - does it come in individual price packets or is it grouped into OHLC.

time

time: datetime

Current time marker of this data packet.

end_time

end_time: datetime

The end time of this data. Some data covers spans (trade bars) and as such we want to know the entire time span covered

value

value: float

Value representation of this data packet. All data requires a representative value for this moment in time. For streams of data this is the price now, for OHLC packets this is the closing price.

price

price: float

As this is a backtesting platform we'll provide an alias of value as price.

ALL_RESOLUTIONS

ALL_RESOLUTIONS: List[Resolution] = ...

A list of all Resolution

This codeEntityType is protected.

DAILY_RESOLUTION

DAILY_RESOLUTION: List[Resolution] = ...

A list of Resolution.DAILY

This codeEntityType is protected.

MINUTE_RESOLUTION

MINUTE_RESOLUTION: List[Resolution] = ...

A list of Resolution.MINUTE

This codeEntityType is protected.

HIGH_RESOLUTION

HIGH_RESOLUTION: List[Resolution] = ...

A list of high Resolution, including minute, second, and tick.

This codeEntityType is protected.

OPTION_RESOLUTIONS

OPTION_RESOLUTIONS: List[Resolution] = ...

A list of resolutions support by Options

This codeEntityType is protected.

is_fill_forward

is_fill_forward: bool

True if this is a fill forward piece of data

clone

clone() -> BaseData

Clones the data

Returns:

Type Description
BaseData

A clone of the object.

data_time_zone

data_time_zone() -> Any

Specifies the data time zone for this data type. This is useful for custom data types

Returns:

Type Description
Any

The NodaTime.DateTimeZone of this data type.

default_resolution

default_resolution() -> Resolution

Gets the default resolution for this data and security type

get_source

get_source(
    config: SubscriptionDataConfig,
    date: datetime,
    is_live_mode: bool,
) -> SubscriptionDataSource

Return the URL string source of the file. This will be converted to a stream

Parameters:

Name Type Description Default
config SubscriptionDataConfig

Configuration object

required
date datetime

Date of this source file

required
is_live_mode bool

true if we're in live mode, false for backtesting mode

required

Returns:

Type Description
SubscriptionDataSource

String URL of source file.

is_sparse_data

is_sparse_data() -> bool

Indicates whether the data is sparse. If true, we disable logging for missing files

Returns:

Type Description
bool

true.

reader

reader(
    config: SubscriptionDataConfig,
    line: str,
    date: datetime,
    is_live_mode: bool,
) -> BaseData

Parses the data from the line provided and loads it into LEAN

Parameters:

Name Type Description Default
config SubscriptionDataConfig

Subscription configuration

required
line str

Line of data

required
date datetime

Date

required
is_live_mode bool

Is live mode

required

Returns:

Type Description
BaseData

New instance.

requires_mapping

requires_mapping() -> bool

Indicates whether the data source is tied to an underlying symbol and requires that corporate events be applied to it as well, such as renames and delistings

Returns:

Type Description
bool

false.

supported_resolutions

supported_resolutions() -> List[Resolution]

Gets the supported resolution for this data and security type

to_string

to_string() -> str

Converts the instance to string

deserialize_message

deserialize_message(serialized: str) -> Iterable[BaseData]

Deserialize the message from the data server

Parameters:

Name Type Description Default
serialized str

The data server's message

required

Returns:

Type Description
Iterable[BaseData]

An enumerable of base data, if unsuccessful, returns an empty enumerable.

should_cache_to_security

should_cache_to_security() -> bool

Indicates whether this contains data that should be stored in the security cache

Returns:

Type Description
bool

Whether this contains data that should be stored in the security cache.

update

update(
    last_trade: float,
    bid_price: float,
    ask_price: float,
    volume: float,
    bid_size: float,
    ask_size: float,
) -> None

Update routine to build a bar/tick from a data update.

Parameters:

Name Type Description Default
last_trade float

The last trade price

required
bid_price float

Current bid price

required
ask_price float

Current asking price

required
volume float

Volume of this trade

required
bid_size float

The size of the current bid, if available

required
ask_size float

The size of the current ask, if available

required

update_ask

update_ask(ask_price: float, ask_size: float) -> None

Updates this base data with the new quote ask information

Parameters:

Name Type Description Default
ask_price float

The current ask price

required
ask_size float

The current ask size

required

update_bid

update_bid(bid_price: float, bid_size: float) -> None

Updates this base data with the new quote bid information

Parameters:

Name Type Description Default
bid_price float

The current bid price

required
bid_size float

The current bid size

required

update_quote

update_quote(
    bid_price: float,
    bid_size: float,
    ask_price: float,
    ask_size: float,
) -> None

Updates this base data with new quote information

Parameters:

Name Type Description Default
bid_price float

The current bid price

required
bid_size float

The current bid size

required
ask_price float

The current ask price

required
ask_size float

The current ask size

required

update_trade

update_trade(last_trade: float, trade_size: float) -> None

Updates this base data with a new trade

Parameters:

Name Type Description Default
last_trade float

The price of the last trade

required
trade_size float

The quantity traded

required