【股票】股票交易的手续费介绍以及计算

股票交易手续费是进行股票交易时所支付的手续费。委托买卖的手续费分“阶段式”和“跟价式”。(1)阶段式。根据股票价格和交易股数收取手续费。(2)跟价式。根据股票的交易金额收取手续费,目前世界上多采用跟价式。
我国目前主要是证券公司收取佣金和国家收取的印花税。
1.印花税:成交金额的1‰ 
2008年9月19日至今由向双边征收改为向出让方单边征收(卖出时收取)。受让者不再缴纳印花税。投资者在买卖成交后支付给财税部门的税收。上海股票及深圳股票均按实际成交金额的千分之一支付,此税收由券商代扣后由交易所统一代缴。
2.证管费:成交金额的0.002%双向收取
3.证券交易经手费:
A股,按成交金额的0.00487%双向收取;B股,按成交额0.00487%双向收取;基金,上海证券交易所按成交额双边收取0.0045%,深圳证券交易所按成交额0.00487%双向收取;权证,按成交额0.0045%双向收取。
A股2、3项收费合计称为交易规费,合计收取成交金额的0.00687%,包含在券商交易佣金中。
4.过户费(从2015年8月1日起已经更改为上海和深圳都进行收取):
这是指股票成交后,更换户名所需支付的费用。根据中国登记结算公司的发文《关于调整A股交易过户费收费标准有关事项的通知》,从2015年8月1日起已经更改为上海和深圳都进行收取,此费用按成交金额的0.02‰收取。
5.券商交易佣金:
最高不超过成交金额的3‰,最低5元起,单笔交易佣金不满5元按5元收取。

# -!- coding: utf-8 -!-
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
#作者:cacho_37967865
#博客:https://blog.csdn.net/sinat_37967865
#文件:getStockfee.py
#日期:2019-08-06
#备注:根据股票交易的手续费组成,计算每次最佳买卖金额和总费用
股票买入手续费:佣金            佣金=成交金额*0.00025(本人万分之2.5) 每笔最低佣金5元,所以每次交易在20000元以上比较合算。(20000*0.025%=5元)
股票卖出手续费:佣金+印花税      印花税=成交金额*0.001
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

from decimal import Decimal,ROUND_HALF_UP


# 四舍五入
def float_deal(f):
    data = Decimal(str(f)).quantize(Decimal('0.00'),ROUND_HALF_UP)
    return data


# 获取佣金和印花税
def get_stockFee(amount,type):
    commission = float_deal(amount * commission_rate)
    if commission < Decimal('5.00'):
        commission = Decimal('5.00')
    else:
        commission = commission
    if type == 's':
        tax = float_deal((amount - commission) * tax_rate)
        print('卖出交易的佣金为:' + str(commission), '卖出的印花税为:' + str(tax))
    else:
        tax = Decimal('0.00')
        print('买入交易的佣金为:' + str(commission), '买入的印花税为:' + str(tax))

    stock_fee = commission  + tax
    return stock_fee


def main():
    b_fee = get_stockFee(amount,'b')        # 买入手续费,买入后股票金额为amount
    increase = float_deal(amount * Decimal(increase_rate) + amount)    # 如果股票上涨
    s_fee = get_stockFee(increase,'s')      # 卖出手续费
    last_amount = increase - s_fee          # 卖出到账金额

    print('买入和卖出的总费用:',b_fee+s_fee)
    print('最终账户总金额:' + str(account - amount - b_fee + last_amount))
    print('最终收益:' + str(last_amount - amount - b_fee ))


if __name__ == '__main__':
    increase_rate = '0.002'                    # 股票上涨幅度
    commission_rate = Decimal('0.00025')       # 佣金率
    tax_rate = Decimal('0.001')                # 印花税率
    account = Decimal('50000.00')              # 账户总金额
    amount = Decimal('20000.00')               # 买入交易金额
    main()

假设现在我们买入股票金额1000元,不赚不亏直接卖出,这个时候我们需要缴纳的总费用多少呢? 更改increase_rate为0.00

买入交易的佣金为:5.00 买入的印花税为:0.00
卖出交易的佣金为:5.00 卖出的印花税为:1.00
买入和卖出的总费用: 11.00
最终账户总金额:49989.00
最终收益:-11.00

假设我们设置止盈5%或者止损5%,预算收益和亏损,如何计算呢? 更改increase_rate为0.05或者-0.05

买入交易的佣金为:5.00 买入的印花税为:0.00
卖出交易的佣金为:5.00 卖出的印花税为:1.05
买入和卖出的总费用: 11.05
最终账户总金额:50038.95
最终收益:38.95

你可能感兴趣的:(投资理财,股票,python)