量化交易

量化交易

量化交易是指以先进的数学模型替代人为的主观判断,利用计算机技术从庞大的历史数据中海选能带来超额收益的多种“大概率”事件以制定策略,极大地减少了投资者情绪波动的影响,避免在市场上极度狂热或悲观的情况下作出非理性的投资决策。

类别:投资方法

专业基础:金融、统计、数学建模、软件工程

Ghidra简介及安装使用

Ghidra简介

Ghidra 是由美国国家安全局(NSA,National Security Agency)的研究理事会为 NSA 的网络安全任务开发的软件逆向工程(SRE)框架,它有助于分析恶意代码和病毒等恶意软件,并可以让网络安全专业人员更好地了解其网络和系统中的潜在漏洞。

Ghidra 特性:

包含了一套软件分析工具,用于分析各种平台上的编译代码,包括 Windows、macOS 和 Linux。
功能包括反汇编、汇编、反编译、图形和脚本执行,以及数百个其它功能。
支持各种处理器指令集和可执行格式,可以在用户交互和自动模式下运行。
用户可以使用公开的 API 开发自己的 Ghidra 插件组件与脚本。

【设计模式】常用的23种设计模式(三)

简介
常用的设计模式分三大类:
创建型模式(Creational Patterns)
结构型模式(Structural Patterns)
行为型模式(Behavioral Patterns)

本章主要来介绍下常用的11种行为型设计模式。

行为型模式(Behavioral Patterns)
行为型模式主要关注对象之间的通信。

共11种:

BigDecimal加减乘除运算示例

BigDecimal加减乘除运算

add 加法
subtract 减法
multiply 乘法
divide 除法(整除、商保留指定小数位,获取商和余数)

示例如下:

public class BigDecimalTest {

    @Test
    public void test() {

        BigDecimal a = new BigDecimal(10L);
        BigDecimal b = new BigDecimal(3L);

        System.out.println("a = " + a);
        System.out.println("b = " + b);
        // 加法
        System.out.println("a + b = " + a.add(b));
        // 减法
        System.out.println("a - b = " + a.subtract(b));
        // 乘法
        System.out.println("a * b = " + a.multiply(b));
        // 除法,如果不能整除抛出算术异常:ArithmeticException
        System.out.println("a / a = " + a.divide(a));
        // 除法,商向下取整
        System.out.println("a / b = " + a.divide(b, RoundingMode.DOWN));
        // 除法,商保留两位小数并向上取整
        System.out.println("a / b = " + a.divide(b, 2, RoundingMode.UP));
        // 除法,返回商和余数
        BigDecimal[] bigDecimals = a.divideAndRemainder(b);
        System.out.println("a / b = " + bigDecimals[0] + ",余数 = " + bigDecimals[1]);
    }
}

示例运行结果如下:

a = 10
b = 3
a + b = 13
a - b = 7
a * b = 30
a / a = 1
a / b = 3
a / b = 3.34
a / b = 3,余数 = 1