Strategy 模式

证券交易费用

https://www.hkex.com.hk/Services/Rules-and-Forms-and-Fees/Fees/Securities-(Hong-Kong)/Trading/Transaction?sc_lang=en

在香港一港元是等于100仙的,一仙就是大陆的1分钱。十个一仙就是一毫(即一角)。


买卖HKM中的证券时,要缴付的费用如下:
佣金 brokerage
经纪商(券商)可以与客户自用商议佣金收费。
证监会交易征费 SFC Transaction Levy
由2014年11月1日起,买卖双方须分别缴纳每宗交易金额0.0027%的证监会交易征费(计至最接近的仙位数)予证券及期货事务监察委员会。证券庄家交易则获豁免。
财务汇报局交易征费 FRC Transaction Levy
由2022年1月1日起,买卖双方须分别缴纳每宗交易金额0.00015%的财务汇报局交易征费(计至最接近的仙位数)予财务汇报局。证券庄家交易则获豁免。
交易费 Trading Fee
买卖双方须各付每宗交易金额0.005%的交易费(计至最接近的仙位数)予交易所。
不同类别的交易所买卖产品之证券庄家交易将采用不同的交易费用豁免率。
交易系统使用费 Trading Tariff
买卖双方均须各付每宗交易港币0.50元的交易系统使用费。自2021年5月31日起,固定收益或货币市场交易所买卖基金之任何交易,
均获豁免缴交交易系统使用费直至另行通知。至于经纪是否会将交易系统使用费转嫁投资者,则属其商业决定。
股票印花税 Stamp Duty on Stock Transaction
除非另有指示外,股票转让时,买卖双方均须分别缴纳每宗交易金额0.13%的股票印花税(不足一元亦作一元计)。
请按此下载毋须缴纳香港印花税的证券名单。所有股票期权庄家经销交易、证券庄家交易则获减免。
转手纸印花税 Transfer Deed Stamp Duty
不论股份数目多少,每张新转手纸须缴纳转手纸印花税港币5元予政府,由注册股份持有人,即卖方负责缴付。
过户费用 Transfer Fee
不论股份数目多少,上市公司之过户登记处收取新发股票费用,收费每张港币2.50元,由买方支付。

Strategy 模式解决的问题

Strategy 模式和 Template 模式要解决的问题是相同(类似)的,都是为了给业务逻辑(算法)具体实现和抽象接口之间的解耦。
Strategy 模式将逻辑(算法)封装到一个类(Context)里面,
通过组合的方式将具体算法的实现在组合对象中实现,再通过委托的方式将抽象接口的实现委托给组合对象实现。
// Transaction Tax Charged
class  transaction_tax_charged_strategy {
public:
    // 计算费用
    virtual double calculate(const transaction_tax_charged_context & ctx) = 0;
    
    virtual ~transaction_tax_charged_strategy() { }
};

// 委托单的交易费用的计算 包括bid、ask类型的订单费用
class entrust_order_ttc_strategy : public transaction_tax_charged_strategy {
    virtual double calculate(const transaction_tax_charged_context & ctx) {
        
    }
};

// 部成单的交易费用的计算 包括bid、ask类型的订单费用
class partially_filled_order_ttc_strategy : public transaction_tax_charged_strategy {
    virtual double calculate(const transaction_tax_charged_context & ctx) {
        
    }
};

// 全成成单的交易费用的计算 包括bid、ask类型的订单费用
class filled_order_ttc_strategy : public transaction_tax_charged_strategy {
    virtual double calculate(const transaction_tax_charged_context & ctx) {
        
    }
};

// 改单的交易费用的计算 包括bid、ask类型的订单费用
// 委托改单可不用处理
class amend_order_ttc_strategy : public transaction_tax_charged_strategy {
    virtual double calculate(const transaction_tax_charged_context & ctx) {
        
    }
};

// Strategy 通过“组合”(委托)方式实现算法(实现)的异构,
// 而 Template 模 式则采取的是继承的方式 
// 这两个模式的区别也是继承和组合两种实现接口重用的方式的区别
class order_transaction_tax_carged {
private:
    transaction_tax_charged_strategy *ttc_ptr_;
    
public:
    order_transaction_tax_cargedv(ttcs_factory *ttcsf) {
        this->ttc_ptr_ = ttcsf->create_ttc_strategy();
    }
    
    ~order_transaction_tax_cargedv() {
        delete ttc_ptr_;
    }
    
    double calc_ttc() {
        transaction_tax_charged_context ctx;
        //...
        return ttc_ptr->calculate(ctx);
    }
};

Strategy 模式和 Template 模式实际是实现一个抽象接口的两种方式:继承和组合之 间的区别。要实现一个抽象接口,继承是一种方式:我们将抽象接口声明在基类中,将具体 的实现放在具体子类中。组合(委托)是另外一种方式:我们将接口的实现放在被组合对象 中,将抽象接口放在组合类中。这两种方式各有优缺点,先列出来:

继承:

  • 优点
  1. 易于修改和扩展那些被复用的实现。
  • 缺点
  1. 破坏了封装性,继承中父类的实现细节暴露给子类了;
  2. “白盒”复用,原因在 1)中;
  3. 当 父类的实现更改时,其所有子类将不得不随之改变
  4. 从父类继承而来的实现在运行期间不能改变(编译期间就已经确定了)。

组合

  • 优点
  1. “黑盒”复用,因为被包含对象的内部细节对外是不可见的;
  2. 封装性好,原因为 1);
  3. 实现和抽象的依赖性很小(组合对象和被组合对象之间的依赖性小);
  4. 可以在运行期间动态定义实现(通过一个指向相同类型的指针,典型的是抽象 基类的指针)。
  • 缺点
  1. 系统中对象过多。

-- 因此在面向对象的设计中的有一条很重要的原则就是:优先使用(对象)组合,而非(类)继承(Favor Composition Over Inheritance)。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,445评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,889评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,047评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,760评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,745评论 5 367
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,638评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,011评论 3 398
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,669评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,923评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,655评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,740评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,406评论 4 320
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,995评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,961评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,023评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,483评论 2 342

推荐阅读更多精彩内容

  • 什么是策略模式?   策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。...
    纸中圆阅读 1,825评论 0 1
  • 场景 我们按照需求设计了一个国际电子商务的程序,其中有一个涉及到了计算税收。在我们设计完成后,又来了一个新的需求:...
    何大炮阅读 243评论 0 0
  • 问题 Strage模式和template模式要解决的问题是一样的,都是为了给业务逻辑(算法)具体实现和抽象接口之间...
    潭潭_180阅读 122评论 0 0
  • 策略模式是什么 策略模式的用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换...
    骊骅阅读 588评论 0 0
  • 需求故事 作为黄鸭子,我希望可以display “Yellow Duck”,可以fly "Yellow Duck ...
    和坚阅读 427评论 0 1