|
|
|
<?php
|
|
|
|
|
|
|
|
namespace trader\PreOrd;
|
|
|
|
namespace trader\struct;
|
|
|
|
|
|
|
|
class Premium
|
|
|
|
{
|
|
|
|
private $symbol;
|
|
|
|
private $rate;
|
|
|
|
private $settleTs;
|
|
|
|
private $settleTime;
|
|
|
|
public $symbol; //标准交易对
|
|
|
|
public $symbolOri; //原始交易对
|
|
|
|
public $rate; //资金费率
|
|
|
|
public $settleTs; //下次结算时间
|
|
|
|
public $settlePeriod; //结算周期
|
|
|
|
public $uts; //最近更新时间
|
|
|
|
|
|
|
|
public function __construct($symbol, $rate, $settleTs, $settleTime)
|
|
|
|
public function __construct($symbol, $symbolOri, $rate, $settleTs, $settlePeriod, $uts)
|
|
|
|
{
|
|
|
|
$this->symbol = $symbol;
|
|
|
|
$this->symbolOri = $symbolOri;
|
|
|
|
$this->rate = $rate;
|
|
|
|
$this->settleTs = $settleTs;
|
|
|
|
$this->settleTime = $settleTime;
|
|
|
|
$this->settlePeriod = $settlePeriod;
|
|
|
|
$this->uts = $uts;
|
|
|
|
}
|
|
|
|
|
|
|
|
public function toArray()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
'symbol' => $this->symbol,
|
|
|
|
'symbolOri' => $this->symbolOri,
|
|
|
|
'rate' => $this->rate,
|
|
|
|
'settleTs' => $this->settleTs,
|
|
|
|
'settleTime' => $this->settleTime,
|
|
|
|
'settlePeriod' => $this->settlePeriod,
|
|
|
|
'uts' => $this->uts,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
public static function transferOkx($data, callable $getSymbolSt): self
|
|
|
|
{
|
|
|
|
$symbolOri = $data['instId'];
|
|
|
|
$symbolSt = $getSymbolSt($symbolOri);
|
|
|
|
$rate = $data['fundingRate'];
|
|
|
|
$settleTs = $data['fundingTime'];
|
|
|
|
$settlePeriod = $data['nextFundingTime'] - $settleTs;
|
|
|
|
$uts = $data['ts'];
|
|
|
|
return new self($symbolSt, $symbolOri, $rate, $settleTs, $settlePeriod, $uts);
|
|
|
|
}
|
|
|
|
public static function transferBinance($data, callable $getSymbolSt): self
|
|
|
|
{
|
|
|
|
$symbolOri = $data['symbol'];
|
|
|
|
$symbolSt = $getSymbolSt($symbolOri);
|
|
|
|
$rate = $data['lastFundingRate'];
|
|
|
|
$settleTs = $data['nextFundingTime'];
|
|
|
|
$settlePeriod = 0;
|
|
|
|
$uts = $data['time'];
|
|
|
|
return new self($symbolSt, $symbolOri, $rate, $settleTs, $settlePeriod, $uts);
|
|
|
|
}
|
|
|
|
} |
...
|
...
|
|