第三方支付到高风险管辖区

1. 引言

交易监控是零售银行的一项基本支柱,旨在确保金融交易的完整性和安全性。它在检测和预防金融欺诈、洗钱及其他非法活动方面发挥着关键作用,保护银行及其客户免受潜在的威胁和损失。

“**第三方支付到高风险管辖区**”规则监控流向被归类为金融不当行为高风险区域或国家的交易。通过识别此类交易,银行可以更仔细地审查它们,确保其符合监管规定,并且不成为恶意活动的渠道。

2. 规则细分

  • 时间范围

    • 评估滚动 30 天内的所有数据(这可以是任何时间段)

  • 捕获

    • 洗钱中介

  • 逻辑

    1. 按唯一来源账户汇总流入支付总额

    2. 将交易与高风险管辖区匹配

      • 其中单笔交易的价值在原始流入金额的 90% 到 110% 之间。

3. 建模

本节将展示在示例图上执行 Cypher 查询的示例。目的是说明查询的样式,并提供在实际设置中组织数据的指南。我们将在一个包含几个节点的小型图上进行操作。示例图将基于以下数据模型

3.1. 数据模型

fs transaction monitoring high risk jurisdictions model

3.1.1 必需字段

以下是开始所需的字段

账户 节点

  • accountNumber: 包含账户的名称。这可以替换为您用于 账户 的任何其他标识符。

交易 节点

  • amount: 包含账户之间转移的金额。

  • date: 包含交易发生的日期。

执行 关系

  • 无需属性

受益于 关系

  • 无需属性

3.2. 演示数据

以下 Cypher 语句将在 Neo4j 数据库中创建示例图

// Create all accounts
CREATE (a1:Account {number: 1})
CREATE (a2:Account {number: 2})
CREATE (a3:Account {number: 3})
CREATE (a4:Account {number: 4})
CREATE (a5:Account {number: 5})
CREATE (a6:Account {number: 6})
CREATE (a7:Account:HighRiskJurisdiction {number: 7})

// Create valid transaction relationships
CREATE (a2)-[:TRANSACTION {amount: 1100, datetime: datetime()-duration({days: 29})}]->(a4)
CREATE (a4)-[:TRANSACTION {amount: 100, datetime: datetime()-duration({days: 27})}]->(a6)
CREATE (a4)-[:TRANSACTION {amount: 200, datetime: datetime()-duration({days: 26})}]->(a6)
CREATE (a4)-[:TRANSACTION {amount: 600, datetime: datetime()-duration({days: 25})}]->(a6)
CREATE (a6)-[:TRANSACTION {amount: 500, datetime: datetime()-duration({days: 3})}]->(a7)
CREATE (a6)-[:TRANSACTION {amount: 500, datetime: datetime()-duration({days: 2})}]->(a7)

// Create invalid transaction relationships
CREATE (a1)-[:TRANSACTION {amount: 500, datetime: datetime()-duration({days: 60})}]->(a2)
CREATE (a1)-[:TRANSACTION {amount: 500, datetime: datetime()-duration({days: 60})}]->(a2)
CREATE (a3)-[:TRANSACTION {amount: 750, datetime: datetime()-duration({days: 28})}]->(a4)
CREATE (a5)-[:TRANSACTION {amount: 100, datetime: datetime()-duration({days: 24})}]->(a6)
CREATE (a5)-[:TRANSACTION {amount: 50, datetime: datetime()-duration({days: 24})}]->(a6)

3.3. Neo4j 模式

// Show neo4j scheme
CALL db.schema.visualization()

它将提供以下响应

fs transaction monitoring high risk jurisdictions schema

4. Cypher 查询

4.1. 增强图版本

这是标准交易监控规则的增强版本,当前系统无法以大规模和简单性实现。**为什么?**

  1. 无限期地**递归遍历**关系无法在任何现有系统中实现

  2. Neo4j 卓越的性能是通过在遍历时评估以下条件来实现的

    1. 聚合交易的值在原始交易金额的 90% - 110% 范围之外。

    2. 其中交易日期超出指定期限。在此示例中为 30 天。

MATCH (l:Account)-[last_t:TRANSACTION]->(hrj:HighRiskJurisdiction)
WHERE last_t.datetime >= datetime()-duration({days: 30})
WITH l, hrj, SUM(last_t.amount) AS total_hrj_transctions
MATCH path=(first)((a1)-[t]->(a2)
   WHERE COLLECT {
       WITH a1, a2
       MATCH (a1)-[some_t]->(a2)
       WHERE some_t.datetime >= datetime()-duration({days: 30})
       WITH SUM(some_t.amount) AS s
       RETURN 0.9 * total_hrj_transctions <= s <= 1.1 * total_hrj_transctions
   } = [TRUE]
)*(l)-[tx:TRANSACTION]->(hrj)
   WHERE NOT EXISTS {
       WITH first
       MATCH (before)-[tx]->(first)
       WHERE tx.datetime >= datetime()-duration({days: 30})
       WITH SUM(tx.amount) AS sx, before
       WHERE 0.9 * total_hrj_transctions <= sx <= 1.1 * total_hrj_transctions
       RETURN before
   } AND
   tx.datetime >= datetime()-duration({days: 30})
RETURN path
© . All rights reserved.