关于量化合约及合约量化系统开发技术说明及详细案例

简介: 量化交易也是一种交易。狭义上的量化交易指将交易条件转化为程序,并自动下单;广义的量化交易是系统交易方式,是一种综合交易系统,根据一系列交易条件,智能决策系统,将丰富的经验与交易条件相结合,管理交易过程中的风险控制。

量化交易也是一种交易。狭义上的量化交易指将交易条件转化为程序,并自动下单;广义的量化交易是系统交易方式,是一种综合交易系统,根据一系列交易条件,智能决策系统,将丰富的经验与交易条件相结合,管理交易过程中的风险控制。

import json
from web3 import Web3, HTTPProvider

from web3.contract import ConciseContract

获取合约的abi

def getAbi(filePath):

with open(filePath,'r') as abi_file:
    mpc_abi = json.load(abi_file)
return mpc_abi

获取余额

def getBalance(contractObj,accountAddr):

return contractObj.functions.balanceOf(accountAddr).call()

获取合约对象

def getContractObj(web3Obj,contractAddr,abiPath):

con_abi = getAbi(abiPath)
return web3Obj.eth.contract(address=contractAddr,abi=con_abi)

发送ERC20

def sendErc20(web3obj,fromAddr,toAddr,value,contractAddr,abiPath):

contractAbi = getAbi(abiPath)
contractObj = web3obj.eth.contract(address=contractAddr,abi=contractAbi)
tx_hash = contractObj.functions.transfer(toAddr,value).transact({'from':fromAddr})
tx_receipt = web3obj.eth.wait_for_transaction_receipt(tx_hash)
if tx_receipt['status'] == 1:
    return 'send Success'
else:
    return 'send Failed'

def printBalance(web3obj,contractObj,fromAddr,toAddr,markIndex):

balanceA = getBalance(contractObj,fromAddr)
balanceB = getBalance(contractObj,toAddr)
fromMark = markIndex+" balanceA="
toMark   = markIndex+" balanceB="
print(fromMark,web3obj.fromWei(balanceA,'ether'))
print(toMark,  web3obj.fromWei(balanceB,'ether'))
发送ERC20

web3.py instance

w3 = Web3(HTTPProvider("http://localhost:8545"))
print('web3 connect:',w3.isConnected())

fromAddr = w3.eth.accounts[0]
toAddr = w3.eth.accounts[1]
print('fromAddr=',fromAddr)
print('toAddr =',toAddr)

value = w3.toWei(0.1,'ether')
abiPath = './myabi/DPC_abi.json'
contractAddr = '0xE250d901baeCb66F85D184D8aE9dA2bD4e705854' ##DPC合约地址
contractObj = getContractObj(w3,contractAddr,abiPath)

发送前

printBalance(w3,contractObj,fromAddr,toAddr,"#1")

bRet = sendErc20(w3,fromAddr,toAddr,value,contractAddr,abiPath)
print('result= ',bRet)

发送后

printBalance(w3,contractObj,fromAddr,toAddr,"#2")

import json
from web3 import Web3, HTTPProvider

from web3.contract import ConciseContract

获取合约的abi

def getAbi(fil

相关文章
|
存储 人工智能 数据建模
量化合约开发源码案例丨量化合约系统开发(详细及策略)
self._last_bar_start_minute=None#最后一次更新bar的时间   self._isNewBar=False#是否有新bar   self._ma20=None   #当前订单,dict,字典   self._current_orders={}
|
前端开发 算法 数据挖掘
关于量化合约及合约量化系统开发技术说明及详细案例
随着区块链技术的不断发展,合约量化系统已成为加密货币领域的重要工具。量化合约是一种通过计算机程序实现自动化交易的工具,它可以有效提高交易效率和精度。同时,合约量化系统可以帮助交易员更好地管理风险和进行数据分析,从而为交易者提供更多的帮助。
128 0
|
JSON 监控 算法
量化交易/合约量化/量化合约/交易所开发项目,量化交易/合约量化/量化合约/交易所系统开发技术方案及详细(源码案例)
 量化交易是指将计算机程序和系统性交易策略结合起来,使用数学模型和统计分析,通过算法自动判断交易买卖时机,并自动执行交易的过程。量化交易具有高效性、精确性和纪律性的特点,能够在瞬间完成决策并执行交易,减少人为干预,提高交易决策的精准性和稳定性。
|
数据挖掘 机器人 API
量化合约系统开发(源码)合约量化系统开发(技术方案)
stock_weights=[]      num_assets=len(selected)
|
算法
量化合约系统开发丨合约量化系统开发源码
量化合约系统开发丨合约量化系统开发源码
107 0
合约量化/量化合约开发源码说明,量化合约/合约量化系统开发(成熟及方案)丨运营版
  Quantitative trading refers to the use of advanced mathematical models instead of subjective judgments,and the use of computer technology to select multiple"high probability"events that can bring excess returns from huge historical data to formulate strategies,greatly reducing the impact of inves
|
计算机视觉 Python
量化合约源码丨合约量化系统开发(成熟技术)及详细策略
  What is the term"follow orders",which means placing orders with traders(professionals with trading experience/market analysis)and setting stop loss risk controls to avoid losses as much as possible;The tracking system has gradually become one of the standard configurations for contract trading,and
|
前端开发 数据挖掘 API
量化合约系统开发方案丨量化合约系统实现案例源码
量化合约系统开发是指开发一种能够自动化执行交易策略的软件系统,该系统能够根据预设的规则和条件自动执行交易,从而实现量化交易。
合约量化(系统开发)量化合约源码系统开发技术展示
合约量化(系统开发)量化合约源码系统开发技术展示
合约量化(量化合约)系统开发(策略分析)丨量化合约(合约量化)系统开发(规则详细)
 Quantitative trading refers to using quantitative methods to formulate action plans and conduct transactions.During the trading process,advanced mathematical models are used to quantify market data,replacing artificial subjective judgments,and historical data are repeatedly verified to find"high