秒合約/永續合約/合約跟單/量化交易系統設計開發/詳情分析
作為加密貨幣市場中歡迎的交易方式之一,合約交易(Contract Trading)已經成為數字貨幣衍生品市場中的主流交易
方式。合約交易的主要優勢在於其高槓桿率和方便的交易方式,投資者可以在沒有實際購買或出售加密貨幣的情況下進行
交易,從而透過較小的資本參與更多的交易。
與此相關的是,合約交易有三個主要的型別:秒合約(Perpetual Contract)、永續合約(Futures Contract)和合約跟單交
易(Copy-trading)。下面將對這三種型別進行詳細介紹並提供程式碼實現示例。
一、秒合約(Perpetual Contract)
在秒合約中,交易者可以進行屬於自己的無息借貸和利率交換,從而進行期權式交易。當交易者買入時,他們將長期
持有這個合約,並且不需要在每日結算時還清暫時的盈利或損失。與此相關的是,合約為了維護市場穩定,可能會收取資
金費用,這是由多頭(買方)和空頭(賣方)之間的差異來決定的。
示例程式碼:
PerpetualContract.sol
pragma solidity ^0.6.0;
contract PerpetualContract {
string public name;
uint public decimals;
uint public totalSupply;
address public owner;
uint public lockedCollateral;
uint public lockedLong;
uint public lockedShort;
event Transfer(address indexed from, address indexed to, uint tokens);
event Approval(address indexed tokenOwner, address indexed spender, uint tokens);
event Mint(address indexed investor, uint tokens, uint lockedCollateral);
event Burn(address indexed investor, uint tokens, uint lockedCollateral);
mapping(address => uint) balances;
mapping(address => mapping(address => uint)) allowed;
constructor(string memory _name, uint _decimals) public {
name = _name;
decimals = _decimals;
owner = msg.sender;
// TODO: Add more contract initialization here
}
function balanceOf(address tokenOwner) public view returns (uint) {
return balances[tokenOwner];
}
function transfer(address receiver, uint tokens) public returns (bool) {
balances[msg.sender] = safeSub(balances[msg.sender], tokens);
balances[receiver] = safeAdd(balances[receiver], tokens);
emit Transfer(msg.sender, receiver, tokens);
return true;
}
function approve(address delegate, uint tokens) public returns (bool) {
allowed[msg.sender][delegate] = tokens;
emit Approval(msg.sender, delegate, tokens);
return true;
}
function allowance(address owner, address delegate) public view returns (uint) {
return allowed[owner][delegate];
}
function transferFrom(address owner, address buyer, uint tokens) public returns (bool) {
balances[owner] = safeSub(balances[owner], tokens);
allowed[owner][msg.sender] = safeSub(allowed[owner][msg.sender], tokens);
balances[buyer] = safeAdd(balances[buyer], tokens);
emit Transfer(owner, buyer, tokens);
return true;
}
function safeAdd(uint a, uint b) private pure returns (uint) {
require(a + b >= a);
return a + b;
}
function safeSub(uint a, uint b) private pure returns (uint) {
require(b <= a);
return a - b;
}
function mint(address investor, uint tokens, uint collateral) public returns (bool) {
require(msg.sender == owner, "Only contract owner can mint tokens.");
require(tokens > 0, "Tokens must be greater than zero.");
require(collateral > 0, "Collateral must be greater than zero.");
balances[investor] = safeAdd(balances[investor], tokens);
totalSupply = safeAdd(totalSupply, tokens);
lockedCollateral = safeAdd(lockedCollateral, collateral);
emit Mint(investor, tokens, collateral);
return true;
}
function burn(address investor, uint tokens, uint collateral) public returns (bool) {
require(msg.sender == owner, "Only contract owner can burn tokens.");
require(tokens > 0, "Tokens must be greater than zero.");
require(collateral > 0, "Collateral must be greater than zero.");
require(balances[investor] >= tokens, "Insufficient balance.");
balances[investor] = safeSub(balances[investor], tokens);
totalSupply = safeSub(totalSupply, tokens);
lockedCollateral = safeSub(lockedCollateral, collateral);
emit Burn(investor, tokens, collateral);
return true;
}
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70028070/viewspace-2944458/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 合約跟單/秒合約/永續合約/量化跟單交易系統開發技術設計
- 量化合約/合約量化/秒合約系統開發/永續合約/合約跟單
- 現貨跟單量化/合約跟單/系統開發/量化合約交易/永續合約/秒合約解析
- 量化跟單丨永續合約丨秒合約丨合約交易模式軟體開發詳情模式
- 合約跟單/系統開發/現貨量化跟單/永續合約/秒合約策略
- 交割合約系統/現貨量化跟單技術開發/秒合約/永續合約交易
- 永續合約開發/秒合約/合約跟單/量化交易跟單系統技術開發丨Python示例Python
- 量化跟單/秒合約/原始碼系統開發/永續合約量化交易開發技術分析原始碼
- 量化交易/量化合約/合約量化/秒合約/永續合約/合約跟單/交易所繫統開發(策略及原始碼)原始碼
- 秒合約|合約跟單|永續合約系統開發模式模式
- 量化跟單丨合約交易丨秒合約丨永續合約系統開發技術分析丨Python示例Python
- 永續合約/秒合約/合約量化/量化合約系統開發詳情/原始碼功能/成熟案例原始碼
- 現貨交易/合約跟單/系統技術開發/合約量化/秒合約功能開發詳情
- 永續槓桿合約交易/系統程式開發/合約策略跟單/秒合約交易模型模型
- 合約量化/現貨交易/合約跟單/秒合約/系統開發技術分析
- 數字貨幣交易所/合約跟單/秒合約/永續合約/量化合約/合約量化系統開發詳細策略及原始碼原始碼
- 秒合約開發/量化合約系統技術開發/永續交割合約/現貨跟單交易
- 永續合約/秒合約/HKD交易所繫統合約開發詳情
- 秒合約|合約跟單|永續合約系統開發|測試版
- 合約量化|秒合約|合約跟單系統開發案例
- 現貨跟單/合約跟單/系統技術開發/量化交易/永續合約技術分析
- DAPP/量化交易/合約跟單/合約量化/系統設計開發方案APP
- 合約量化跟單|秒合約|現貨跟單系統開發
- 合約跟單系統開發/跟單量化交易機器人/合約交易技術開發詳情機器人
- 數字貨幣交易所/合約跟單/秒合約/永續合約/合約量化系統開發說明/原始碼案例/運營版原始碼
- 【現貨量化跟單】合約量化策略開發/秒合約系統策略開發(技術詳情)
- 合約跟單/現貨量化跟單/永續合約/系統開發技術/應用
- 量化跟單/合約量化/秒合約/跟單交易/交易所繫統技術開發(Python策略)Python
- AI合約跟單策略/永續槓桿交易系統開發技術/合約量化原始碼AI原始碼
- 現貨量化/原始碼/秒合約/量化跟單交易系統合約開發python技術原始碼Python
- 秒合約跟單系統開發原始碼|秒合約交易模式系統開發原始碼模式
- 合約交易/現貨量化交易系統開發技術/現貨秒合約開發詳情
- 合約交易丨秒合約丨永續合約丨幣幣合約交易所繫統開發|案例詳情|專案測試
- 量化現貨交易/合約跟單/現貨合約量化系統設計開發專案
- 量化機器人/量化跟單/秒合約/合約跟單策略系統程式設計開發專案設計機器人程式設計
- 現貨期權合約量化/量化合約/秒合約/永續合約/交易所繫統開發(開發案例及原始碼)原始碼
- 智慧量化合約跟單系統開發技術/量化交易/合約跟單交易
- 合約跟單/系統開發解析/合約策略交易/量化跟單技術開發解析