天择加密量化开放框架下载
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

471 lines
15 KiB

# coding: utf-8
"""
Gate API v4
Welcome to Gate.io API APIv4 provides spot, margin and futures trading operations. There are public APIs to retrieve the real-time market statistics, and private APIs which needs authentication to trade on user's behalf. # noqa: E501
Contact: support@mail.gate.io
Generated by: https://openapi-generator.tech
"""
import pprint
import re # noqa: F401
import six
from gate_api.configuration import Configuration
class FuturesAccount(object):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
Do not edit the class manually.
"""
"""
Attributes:
openapi_types (dict): The key is attribute name
and the value is attribute type.
attribute_map (dict): The key is attribute name
and the value is json key in definition.
"""
openapi_types = {
'total': 'str',
'unrealised_pnl': 'str',
'position_margin': 'str',
'order_margin': 'str',
'available': 'str',
'point': 'str',
'currency': 'str',
'in_dual_mode': 'bool',
'enable_credit': 'bool',
'position_initial_margin': 'str',
'maintenance_margin': 'str',
'bonus': 'str',
'history': 'FuturesAccountHistory',
}
attribute_map = {
'total': 'total',
'unrealised_pnl': 'unrealised_pnl',
'position_margin': 'position_margin',
'order_margin': 'order_margin',
'available': 'available',
'point': 'point',
'currency': 'currency',
'in_dual_mode': 'in_dual_mode',
'enable_credit': 'enable_credit',
'position_initial_margin': 'position_initial_margin',
'maintenance_margin': 'maintenance_margin',
'bonus': 'bonus',
'history': 'history',
}
def __init__(
self,
total=None,
unrealised_pnl=None,
position_margin=None,
order_margin=None,
available=None,
point=None,
currency=None,
in_dual_mode=None,
enable_credit=None,
position_initial_margin=None,
maintenance_margin=None,
bonus=None,
history=None,
local_vars_configuration=None,
): # noqa: E501
# type: (str, str, str, str, str, str, str, bool, bool, str, str, str, FuturesAccountHistory, Configuration) -> None
"""FuturesAccount - a model defined in OpenAPI""" # noqa: E501
if local_vars_configuration is None:
local_vars_configuration = Configuration()
self.local_vars_configuration = local_vars_configuration
self._total = None
self._unrealised_pnl = None
self._position_margin = None
self._order_margin = None
self._available = None
self._point = None
self._currency = None
self._in_dual_mode = None
self._enable_credit = None
self._position_initial_margin = None
self._maintenance_margin = None
self._bonus = None
self._history = None
self.discriminator = None
if total is not None:
self.total = total
if unrealised_pnl is not None:
self.unrealised_pnl = unrealised_pnl
if position_margin is not None:
self.position_margin = position_margin
if order_margin is not None:
self.order_margin = order_margin
if available is not None:
self.available = available
if point is not None:
self.point = point
if currency is not None:
self.currency = currency
if in_dual_mode is not None:
self.in_dual_mode = in_dual_mode
if enable_credit is not None:
self.enable_credit = enable_credit
if position_initial_margin is not None:
self.position_initial_margin = position_initial_margin
if maintenance_margin is not None:
self.maintenance_margin = maintenance_margin
if bonus is not None:
self.bonus = bonus
if history is not None:
self.history = history
@property
def total(self):
"""Gets the total of this FuturesAccount. # noqa: E501
total is the balance after the user's accumulated deposit, withdraw, profit and loss (including realized profit and loss, fund, fee and referral rebate), excluding unrealized profit and loss. total = SUM(history_dnw, history_pnl, history_fee, history_refr, history_fund) # noqa: E501
:return: The total of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._total
@total.setter
def total(self, total):
"""Sets the total of this FuturesAccount.
total is the balance after the user's accumulated deposit, withdraw, profit and loss (including realized profit and loss, fund, fee and referral rebate), excluding unrealized profit and loss. total = SUM(history_dnw, history_pnl, history_fee, history_refr, history_fund) # noqa: E501
:param total: The total of this FuturesAccount. # noqa: E501
:type: str
"""
self._total = total
@property
def unrealised_pnl(self):
"""Gets the unrealised_pnl of this FuturesAccount. # noqa: E501
Unrealized PNL # noqa: E501
:return: The unrealised_pnl of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._unrealised_pnl
@unrealised_pnl.setter
def unrealised_pnl(self, unrealised_pnl):
"""Sets the unrealised_pnl of this FuturesAccount.
Unrealized PNL # noqa: E501
:param unrealised_pnl: The unrealised_pnl of this FuturesAccount. # noqa: E501
:type: str
"""
self._unrealised_pnl = unrealised_pnl
@property
def position_margin(self):
"""Gets the position_margin of this FuturesAccount. # noqa: E501
Position margin # noqa: E501
:return: The position_margin of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._position_margin
@position_margin.setter
def position_margin(self, position_margin):
"""Sets the position_margin of this FuturesAccount.
Position margin # noqa: E501
:param position_margin: The position_margin of this FuturesAccount. # noqa: E501
:type: str
"""
self._position_margin = position_margin
@property
def order_margin(self):
"""Gets the order_margin of this FuturesAccount. # noqa: E501
Order margin of unfinished orders # noqa: E501
:return: The order_margin of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._order_margin
@order_margin.setter
def order_margin(self, order_margin):
"""Sets the order_margin of this FuturesAccount.
Order margin of unfinished orders # noqa: E501
:param order_margin: The order_margin of this FuturesAccount. # noqa: E501
:type: str
"""
self._order_margin = order_margin
@property
def available(self):
"""Gets the available of this FuturesAccount. # noqa: E501
The available balance for transferring or trading(including bonus. Bonus can't be be withdrawn. The transfer amount needs to deduct the bonus) # noqa: E501
:return: The available of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._available
@available.setter
def available(self, available):
"""Sets the available of this FuturesAccount.
The available balance for transferring or trading(including bonus. Bonus can't be be withdrawn. The transfer amount needs to deduct the bonus) # noqa: E501
:param available: The available of this FuturesAccount. # noqa: E501
:type: str
"""
self._available = available
@property
def point(self):
"""Gets the point of this FuturesAccount. # noqa: E501
POINT amount # noqa: E501
:return: The point of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._point
@point.setter
def point(self, point):
"""Sets the point of this FuturesAccount.
POINT amount # noqa: E501
:param point: The point of this FuturesAccount. # noqa: E501
:type: str
"""
self._point = point
@property
def currency(self):
"""Gets the currency of this FuturesAccount. # noqa: E501
Settle currency # noqa: E501
:return: The currency of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._currency
@currency.setter
def currency(self, currency):
"""Sets the currency of this FuturesAccount.
Settle currency # noqa: E501
:param currency: The currency of this FuturesAccount. # noqa: E501
:type: str
"""
self._currency = currency
@property
def in_dual_mode(self):
"""Gets the in_dual_mode of this FuturesAccount. # noqa: E501
Whether dual mode is enabled # noqa: E501
:return: The in_dual_mode of this FuturesAccount. # noqa: E501
:rtype: bool
"""
return self._in_dual_mode
@in_dual_mode.setter
def in_dual_mode(self, in_dual_mode):
"""Sets the in_dual_mode of this FuturesAccount.
Whether dual mode is enabled # noqa: E501
:param in_dual_mode: The in_dual_mode of this FuturesAccount. # noqa: E501
:type: bool
"""
self._in_dual_mode = in_dual_mode
@property
def enable_credit(self):
"""Gets the enable_credit of this FuturesAccount. # noqa: E501
Whether portfolio margin account mode is enabled # noqa: E501
:return: The enable_credit of this FuturesAccount. # noqa: E501
:rtype: bool
"""
return self._enable_credit
@enable_credit.setter
def enable_credit(self, enable_credit):
"""Sets the enable_credit of this FuturesAccount.
Whether portfolio margin account mode is enabled # noqa: E501
:param enable_credit: The enable_credit of this FuturesAccount. # noqa: E501
:type: bool
"""
self._enable_credit = enable_credit
@property
def position_initial_margin(self):
"""Gets the position_initial_margin of this FuturesAccount. # noqa: E501
Initial margin position, applicable to the portfolio margin account model # noqa: E501
:return: The position_initial_margin of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._position_initial_margin
@position_initial_margin.setter
def position_initial_margin(self, position_initial_margin):
"""Sets the position_initial_margin of this FuturesAccount.
Initial margin position, applicable to the portfolio margin account model # noqa: E501
:param position_initial_margin: The position_initial_margin of this FuturesAccount. # noqa: E501
:type: str
"""
self._position_initial_margin = position_initial_margin
@property
def maintenance_margin(self):
"""Gets the maintenance_margin of this FuturesAccount. # noqa: E501
Maintenance margin position, applicable to the portfolio margin account model # noqa: E501
:return: The maintenance_margin of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._maintenance_margin
@maintenance_margin.setter
def maintenance_margin(self, maintenance_margin):
"""Sets the maintenance_margin of this FuturesAccount.
Maintenance margin position, applicable to the portfolio margin account model # noqa: E501
:param maintenance_margin: The maintenance_margin of this FuturesAccount. # noqa: E501
:type: str
"""
self._maintenance_margin = maintenance_margin
@property
def bonus(self):
"""Gets the bonus of this FuturesAccount. # noqa: E501
Perpetual Contract Bonus # noqa: E501
:return: The bonus of this FuturesAccount. # noqa: E501
:rtype: str
"""
return self._bonus
@bonus.setter
def bonus(self, bonus):
"""Sets the bonus of this FuturesAccount.
Perpetual Contract Bonus # noqa: E501
:param bonus: The bonus of this FuturesAccount. # noqa: E501
:type: str
"""
self._bonus = bonus
@property
def history(self):
"""Gets the history of this FuturesAccount. # noqa: E501
:return: The history of this FuturesAccount. # noqa: E501
:rtype: FuturesAccountHistory
"""
return self._history
@history.setter
def history(self, history):
"""Sets the history of this FuturesAccount.
:param history: The history of this FuturesAccount. # noqa: E501
:type: FuturesAccountHistory
"""
self._history = history
def to_dict(self):
"""Returns the model properties as a dict"""
result = {}
for attr, _ in six.iteritems(self.openapi_types):
value = getattr(self, attr)
if isinstance(value, list):
result[attr] = list(map(lambda x: x.to_dict() if hasattr(x, "to_dict") else x, value))
elif hasattr(value, "to_dict"):
result[attr] = value.to_dict()
elif isinstance(value, dict):
result[attr] = dict(
map(
lambda item: (item[0], item[1].to_dict()) if hasattr(item[1], "to_dict") else item,
value.items(),
)
)
else:
result[attr] = value
return result
def to_str(self):
"""Returns the string representation of the model"""
return pprint.pformat(self.to_dict())
def __repr__(self):
"""For `print` and `pprint`"""
return self.to_str()
def __eq__(self, other):
"""Returns true if both objects are equal"""
if not isinstance(other, FuturesAccount):
return False
return self.to_dict() == other.to_dict()
def __ne__(self, other):
"""Returns true if both objects are not equal"""
if not isinstance(other, FuturesAccount):
return True
return self.to_dict() != other.to_dict()