\n\n\n\n\n 现货交易与合约交易大不同,具体来说有以下几点: \n\n\n\n 第一、 买卖标的不同。 \n\n\n\n 现货交易买卖的是商品本身,有样品、有实物,我们日常生活中的买卖,大都是现货交易。而合约交易买卖的对象是标准化合约, 这张合约包含约定的交易品种、交易时间,交易价格、交易数量等标准化信息。 \n\n\n\n 第二、 标的范围不同。 \n\n\n\n 现货交易范围是一切可以流通的商品;而合约交易主要是大宗实物商品(比如农产品、能源产品、金属等)以及一些金融产品(比如股票、证券等)。 \n\n\n\n 第三、 交易规则不同。 \n\n\n\n 现货交易是货到款清,无论时间多长,都是一次或数次结清。而合约交易,是在未来某一时间进行交割。 \n\n\n\n 最后,交易目的也不同。 \n\n\n\n 现货交易是交易双方在较短时间内完成获得或出让商品的所有权。\n\n合约交易的目的除了到期交割实物,还能通过合约交易,转移现货市场的价格变化带来的不确定性风险或者从合约市场的价格波动中获得利润。\n\n\n\n \n
\n\n\n\n\n 合约交易是指交易双方,在交易所通过买卖合约,并根据约定在未来某一特定时间和地点,以特定价格买卖规定数量商品的行为。合约交易是在现货远期合约交易基础上发展起来的,在交易所内买卖标准化合约的一种新型交易方式。 \n\n\n\n 合约交易与现货交易的不同之处在于,现货交易是实实在在地交易商品;而合约交易是以某种商品(如棉花、大豆、石油),或金融资产(如股票、债券等)为目标物的标准化合约交易。 \n\n\n\n 随着比特币等数字资产的出现,在数字资产领域也逐渐出现以数字货币为目标物的数字资产衍生品。合约交易的最终目的在于发现真实价格,而不是商品所有权的转移,我们可以通过买卖合约,回避现货价格变化而带来的不确定风险,除此以外也可以通过对合约进行套利或投机来获利。 \n
浅谈比特币现货做市策略 这篇文章是上一篇文章浅谈比特币期货做市策略的火币现货版本。现货的做市策略,跟期货做市很类似,复杂性甚至还不如期货做市策略(因为期货做市策略还要考虑锁仓、移仓、对手盘减仓等复杂的期货相关的处理逻辑)。 现货做市策略主要有以下几个模块: 1、短期趋势判断模块:判断短期的趋势,如果呈现极端行情,暂停做市;如果单边趋势较为明显,减少做市订单的委托数量。 2、做市模块(使用做市算法下单功能):分析买卖盘口信息,如果价差满足条件,利用做市算法下单功能,在上下买卖N档进行批量下单 3、再平衡模块(使用再平衡算法下单功能):分析当前持仓比例与初始持仓比例的差异(净头寸),如果超过一定限额,启动再平衡功能。再平衡功能启动后,系统利用再平衡算法下单功能,对净头寸进行消化处理(即到市场去对冲掉该部分净头寸。如果净头寸为多,则下达卖单;反之,则下达买单,直到净头寸减少到可承受的大小) 4、主循环:负责粘合1,2,3的逻辑并使之能够持续轮询执行。其中,1和2是顺序处理模块,3是独立的线程。 下面逐一介绍各个模块的代码构成。 一、短期趋势判断模块 使用如下函数判断短期趋势: # 价格趋势系数 def price_trend_factor(self, trades, buy1_price, sell1_price, buy2_price, sell2_price, buy3_price, sell3_price, vol_list, index_type=None, symmetric=True): prices = trades["price"].values.tolist() latest_trades = prices[-6:] mid_price = (buy1_price+sell1_price)/2*0.7 + (buy2_price+sell2_price)/2*0.2 + (buy3_price+sell3_price)/2*0.1 latest_trades.append(mid_price) is_bull_trend = False is_bear_trend = False last_price_too_far_from_latest = False has_large_vol_trade = False if latest_trades[-1] > max(latest_trades[:-1]) + latest_trades[-1]*0.00005 or (latest_trades[-1] > max(latest_trades[:-2]) + latest_trades[-1]*0.00005 and latest_trades[-1] > latest_trades[-2]): is_bull_trend = True elif latest_trades[-1] < min(latest_trades[:-1]) - latest_trades[-1]*0.00005 or (latest_trades[-1] < min(latest_trades[:-2]) - latest_trades[-1]*0.00005 and latest_trades[-1] < latest_trades[-2]): is_bear_trend = True if abs(latest_trades[-1] - latest_trades[-2]*0.7 - latest_trades[-3]*0.2 - latest_trades[-4]*0.1) > latest_trades[-1]*0.002: last_price_too_far_from_latest =…