Description
Futures trading of any asset refers to entering into contracts that speculate on the price of the underlying asset without actually owning them. This practice has been commonplace in commodity or stock futures, and more recently has been adopted by cryptocurrency traders traders to bet on a digital currency's future price.
This article reviews a method of entering in the futures contract information in SoftLedger to capture and track the value of the contract and bring that value into your general ledger.
Note: This article is an example to record the value a Futures Contract of an underlying Crypto Asset, but there are likely additional Journal Entries and/or Crypto Transactions to record the Liability and transfer of an asset explicitly stated in a contract.
Steps to record futures trading:
- Step 1: Create a custom coin for the futures contract
- Step 2: Create a crypto transaction when entering into the contract
- Step 3: Selling the contract before expiration
- Step 3b: Execution of the contract at expiration
Step 1: Create a custom coin for the futures contract
Each futures contract for each asset with a set duration and maturity date can be thought of as its own asset, since its features are unique to the contract. In SoftLedger, you can track the value of any type of asset within the crypto module.
Let's review an example of a contract a trader enters into on January 1st, 2023 for the right to sell 100 ETH at a price of $1,250 that costs the trader $50 per ETH in the contract ($5,000), with an expiration date of March 31st, 2023. To be able to accurately track this particular futures contract, the first step would be to create a custom coin for this asset. Let's call it ETH Sell 3.31.23 $1,250:
Step 2: Create a crypto transaction when entering into the contract
Once we know the details of the contract, and have a specific custom coin to be able to track it, the next step is entering the contract details into a SoftLedger crypto transaction:
With the details of the contract in the step above, we can create a crypto deposit transaction to record the quantity that the contract is for, along with the cost to sell 1 ETH that the contract states (note that this is NOT the price of ETH, but the cost for the right to sell 1 ETH from the contract):
Step 3: Selling the contract before expiration
Typically traders will sell a contract prior to expiration due to the underlying asset's price movements, or meeting other objectives such as adhering to risk profiles or set exposure thresholds. If you sell out of a contract prior to expiration, the last step of the contract accounting in SoftLedger with another crypto transaction:
In our example, let's say the value for the right to sell 1 ETH has adjusted from $50 to $60 on January 7th, 2023 and the trader has decided to sell the contract. This would be recorded through the below crypto withdrawal in Softledger:After you have run Cost Basis and Built Journals, notice the Journal Entry on the sale of the contract to record the gain/loss, which amounts to $1,000 in this example:
Step 3b: Execution of the contract at expiration
Alternatively to selling the contract prior to expiration, the trader may opt to wait until the contract itself reaches the expiration date and is executed. Typically, this would mean that the contract is worth significantly less or there is no market for it, and therefore a trader would let this expire and record the loss. In that case, we would similarly record a SoftLedger crypto transaction:
In our example, the contract expires on March 31st, 2023 so we record a crypto withdrawal transaction, entering the price of $0 since the contract has expired and cannot be sold:
Notice that in the resulting Journal Entry, the full amount of the contract is recognized as a loss for $5,000:
Disclaimer: This article is for informational purposes only and is not accounting advice. Consult your accounting advisory partner for guidance.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article