def ccy_pair(local, base='<STR_LIT>') -> CurrencyPair:
ccy_param = param.load_info(cat='<STR_LIT>')<EOL>if f'<STR_LIT>' in ccy_param:<EOL><INDENT>info = ccy_param[f'<STR_LIT>']<EOL><DEDENT>elif f'<STR_LIT>' in ccy_param:<EOL><INDENT>info = ccy_param[f'<STR_LIT>']<EOL>info['<STR_LIT>'] = <NUM_LIT:1.> / info.get('<STR_LIT>', <NUM_LIT:1.>)<EOL>info['<STR_LIT>'] = -info.get('<STR_LIT>', <NUM_LIT:1>)<EOL><DEDENT>elif base.lower() == local.lower():<EOL><INDENT>info = dict(ticker='<STR_LIT>')<EOL>info['<STR_LIT>'] = <NUM_LIT:1.><EOL>if base[-<NUM_LIT:1>].lower() == base[-<NUM_LIT:1>]:<EOL><INDENT>info['<STR_LIT>'] /= <NUM_LIT><EOL><DEDENT>if local[-<NUM_LIT:1>].lower() == local[-<NUM_LIT:1>]:<EOL><INDENT>info['<STR_LIT>'] *= <NUM_LIT><EOL><DEDENT><DEDENT>else:<EOL><INDENT>logger = logs.get_logger(ccy_pair)<EOL>logger.error(f'<STR_LIT>')<EOL>return CurrencyPair(ticker='<STR_LIT>', factor=<NUM_LIT:1.>, power=<NUM_LIT:1>)<EOL><DEDENT>if '<STR_LIT>' not in info: info['<STR_LIT>'] = <NUM_LIT:1.><EOL>if '<STR_LIT>' not in info: info['<STR_LIT>'] = <NUM_LIT:1><EOL>return CurrencyPair(**info)<EOL>
Currency pair info

Args:
    local: local currency
    base: base currency

Returns:
    CurrencyPair

Examples:
    >>> ccy_pair(local='HKD', base='USD')
    CurrencyPair(ticker='HKD Curncy', factor=1.0, power=1)
    >>> ccy_pair(local='GBp')
    CurrencyPair(ticker='GBP Curncy', factor=100, power=-1)
    >>> ccy_pair(local='USD', base='GBp')
    CurrencyPair(ticker='GBP Curncy', factor=0.01, power=1)
    >>> ccy_pair(local='XYZ', base='USD')
    CurrencyPair(ticker='', factor=1.0, power=1)
    >>> ccy_pair(local='GBP', base='GBp')
    CurrencyPair(ticker='', factor=0.01, power=1)
    >>> ccy_pair(local='GBp', base='GBP')
    CurrencyPair(ticker='', factor=100.0, power=1)