Banking Expert

personamanagmentlayer/pcl/stdlib/professional/banking-expert

作者 personamanagmentlayer79ccaa982048无许可证43 个星标收录于 2026年10月8日更新于 2026年10月8日仓库3天前更新

Expert-level banking systems, core banking, regulations, and banking technology. Use when the user mentions finance, core banking, regulations, or payments, or when the task involves Banking Systems or Key Technologies.

仅含说明Business & Finance
AI 生成的概览

提供银行系统、核心银行、监管法规与支付技术方面的专家级指导与参考代码。

功能
该技能提供银行系统方面的专家级参考资料,涵盖核心银行、账户管理、交易处理、ACH、SWIFT、SEPA 等支付网络、贷款管理与风险系统。它还介绍巴塞尔 III/IV、KYC、AML、GDPR、PSD2 和 Dodd-Frank 等监管要求,以及实时支付、开放银行 API、数字钱包、区块链和 AI 欺诈检测等技术。内容包含账户、KYC/AML 检查、支付处理和利息计算的示例 Python 代码,以及最佳实践与反模式。它产出的是说明性指导和代码示例,而非运行脚本。
适用场景
当任务涉及银行系统、核心银行平台、支付处理或银行监管与技术主题时使用。它适合解答 KYC、AML、巴塞尔要求、ACH、SWIFT 或 SEPA 相关问题,也适合设计账户、支付或利息计算逻辑。它用于提供指导与参考,而非执行真实的银行业务操作。
运行要求
不附带脚本,仅为说明与参考代码。除智能体本身外,不需要任何软件包、凭据或网络访问,但文档中列出了外部参考链接。

Banking Expert

Expert guidance for banking systems, core banking platforms, regulatory compliance, and banking technology.

Core Concepts

Banking Systems

  • Core banking systems (CBS)
  • Account management
  • Transaction processing
  • Payment systems (ACH, SWIFT, SEPA)
  • Loan management
  • Risk management systems

Regulations

  • Basel III/IV capital requirements
  • Know Your Customer (KYC)
  • Anti-Money Laundering (AML)
  • GDPR for banking
  • PSD2 (Payment Services Directive)
  • Dodd-Frank Act

Key Technologies

  • Real-time payment processing
  • Mobile banking
  • Open banking APIs
  • Digital wallets
  • Blockchain in banking
  • AI for fraud detection

Account Management

python
from decimal import Decimalfrom datetime import datetimefrom enum import Enum
class AccountType(Enum):    CHECKING = "checking"    SAVINGS = "savings"    CREDIT = "credit"    LOAN = "loan"
class Account:    def __init__(self, account_number: str, account_type: AccountType,                 customer_id: str, balance: Decimal = Decimal('0')):        self.account_number = account_number        self.type = account_type        self.customer_id = customer_id        self.balance = balance        self.status = "ACTIVE"        self.created_at = datetime.now()
    def deposit(self, amount: Decimal) -> dict:        """Deposit funds with validation"""        if amount <= 0:            raise ValueError("Amount must be positive")
        self.balance += amount
        return {            "transaction_id": self.generate_transaction_id(),            "type": "DEPOSIT",            "amount": amount,            "balance": self.balance,            "timestamp": datetime.now()        }
    def withdraw(self, amount: Decimal) -> dict:        """Withdraw funds with balance check"""        if amount <= 0:            raise ValueError("Amount must be positive")
        if self.balance < amount:            raise ValueError("Insufficient funds")
        self.balance -= amount
        return {            "transaction_id": self.generate_transaction_id(),            "type": "WITHDRAWAL",            "amount": amount,            "balance": self.balance,            "timestamp": datetime.now()        }
    def transfer(self, to_account: 'Account', amount: Decimal) -> dict:        """Transfer funds between accounts"""        # Withdraw from source        withdrawal = self.withdraw(amount)
        try:            # Deposit to destination            deposit = to_account.deposit(amount)
            return {                "transaction_id": self.generate_transaction_id(),                "type": "TRANSFER",                "from_account": self.account_number,                "to_account": to_account.account_number,                "amount": amount,                "timestamp": datetime.now()            }        except Exception as e:            # Rollback on failure            self.deposit(amount)            raise e

KYC/AML Compliance

python
class KYCService:    def verify_customer(self, customer_data: dict) -> dict:        """Perform KYC verification"""        verification_results = {            "identity_verified": False,            "address_verified": False,            "sanctions_clear": False,            "pep_check_clear": False,            "risk_level": "HIGH"        }
        # Identity verification        verification_results["identity_verified"] = self.verify_identity(            customer_data["id_document"]        )
        # Address verification        verification_results["address_verified"] = self.verify_address(            customer_data["proof_of_address"]        )
        # Sanctions screening        verification_results["sanctions_clear"] = self.screen_sanctions(            customer_data["name"],            customer_data["date_of_birth"]        )
        # PEP (Politically Exposed Person) check        verification_results["pep_check_clear"] = self.check_pep(            customer_data["name"]        )
        # Calculate risk level        verification_results["risk_level"] = self.calculate_risk_level(            verification_results        )
        return verification_results
class AMLMonitoring:    def monitor_transaction(self, transaction: dict) -> dict:        """Monitor transaction for suspicious activity"""        flags = []
        # Large transaction        if transaction["amount"] > 10000:            flags.append("LARGE_TRANSACTION")
        # Rapid succession of transactions        if self.check_velocity(transaction["account_id"]):            flags.append("HIGH_VELOCITY")
        # Unusual pattern        if self.check_pattern(transaction):            flags.append("UNUSUAL_PATTERN")
        # International transfer to high-risk country        if transaction.get("international") and \           self.is_high_risk_country(transaction.get("destination")):            flags.append("HIGH_RISK_COUNTRY")
        if flags:            self.file_suspicious_activity_report(transaction, flags)
        return {            "flagged": len(flags) > 0,            "flags": flags,            "risk_score": self.calculate_aml_risk_score(flags)        }

Payment Processing

python
class PaymentProcessor:    def process_ach_payment(self, payment: dict) -> dict:        """Process ACH payment"""        # Validate routing and account numbers        if not self.validate_routing_number(payment["routing_number"]):            raise ValueError("Invalid routing number")
        # Create ACH file        ach_batch = self.create_ach_batch([payment])
        # Submit to ACH network        submission_result = self.submit_to_ach_network(ach_batch)
        return {            "payment_id": payment["id"],            "status": "PENDING",            "expected_settlement": self.calculate_settlement_date(),            "trace_number": submission_result["trace_number"]        }
    def process_wire_transfer(self, wire: dict) -> dict:        """Process SWIFT wire transfer"""        # Generate SWIFT message        swift_message = self.create_swift_mt103(wire)
        # Send via SWIFT network        result = self.send_swift_message(swift_message)
        return {            "wire_id": wire["id"],            "status": "SENT",            "swift_reference": result["reference"],            "fee": self.calculate_wire_fee(wire["amount"])        }

Interest Calculation

python
class InterestCalculator:    @staticmethod    def calculate_simple_interest(principal: Decimal, rate: Decimal,                                  days: int) -> Decimal:        """Calculate simple interest"""        return principal * rate * days / 365
    @staticmethod    def calculate_compound_interest(principal: Decimal, annual_rate: Decimal,                                   years: int, compounds_per_year: int = 12) -> Decimal:        """Calculate compound interest"""        rate_per_period = annual_rate / compounds_per_year        num_periods = years * compounds_per_year
        return principal * ((1 + rate_per_period) ** num_periods - 1)
    @staticmethod    def calculate_loan_payment(principal: Decimal, annual_rate: Decimal,                              months: int) -> Decimal:        """Calculate monthly loan payment"""        monthly_rate = annual_rate / 12
        payment = principal * (monthly_rate * (1 + monthly_rate) ** months) / \                  ((1 + monthly_rate) ** months - 1)
        return payment.quantize(Decimal('0.01'))

Best Practices

  • Implement two-factor authentication
  • Use encryption for sensitive data (at rest and in transit)
  • Maintain complete audit trails
  • Implement real-time fraud detection
  • Ensure ACID compliance for transactions
  • Regular security audits and penetration testing
  • Implement rate limiting on APIs
  • Use tokenization for sensitive data
  • Maintain disaster recovery and business continuity plans
  • Regular regulatory compliance reviews

Anti-Patterns

❌ Storing sensitive data unencrypted ❌ No transaction logging/audit trail ❌ Synchronous payment processing ❌ Ignoring regulatory compliance ❌ No fraud detection mechanisms ❌ Using floats for money calculations ❌ No backup and recovery procedures

Resources

来源与署名

来源:personamanagmentlayer/pcl位于stdlib/professional/banking-expert提交79ccaa9

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架