dromanis.finora.types
v3.3.9
Published
Type definitions for Dromanis Finora projects
Downloads
367
Maintainers
Readme
Dromanis Finora Types
A comprehensive TypeScript type library for Dromanis Finora financial applications, providing robust type definitions for trading, portfolio management, analytics, market data, and user management systems.
🚀 Features
- Complete Type Coverage - Comprehensive types for all financial entities
- Modern TypeScript - Built with latest TypeScript features and best practices
- Zero Dependencies - Pure type definitions with no runtime dependencies
- Dual Module Support - Both ESM and CommonJS exports
- Extensive Documentation - Fully documented interfaces with JSDoc comments
- Financial Domain Focused - Specifically designed for financial trading applications
📦 Installation
npm install dromanis.finora.typesyarn add dromanis.finora.typespnpm add dromanis.finora.types🎯 Quick Start
Basic Usage
import {
Portfolio,
Trade,
Transaction,
Instrument,
InstrumentType,
TradeTransactionDirection,
UserClassification
} from 'dromanis.finora.types';
// Create a portfolio
const portfolio: Portfolio = {
id: 'portfolio-1',
name: 'My Investment Portfolio',
currency: 'USD',
notes: 'Long-term growth portfolio'
};
// Define an instrument
const instrument: Instrument = {
id: 'NASDAQ:AAPL',
name: 'Apple Inc.',
symbol: 'AAPL',
exchange: 'NASDAQ',
type: InstrumentType.STOCK,
currency: 'USD',
sector: 'Technology'
};
// User-defined classification for personalized organization
const userClassification: UserClassification = {
instrumentId: 'NASDAQ:AAPL',
sector: 'Consumer Electronics',
industry: 'Smartphone Manufacturing'
};Advanced Usage
import {
PortfolioAnalytics,
AnalyticsSummary,
RiskAnalytics,
Strategy,
InstrumentRating,
MarketNewsData
} from 'dromanis.finora.types';
// Portfolio analytics with performance metrics
const analytics: PortfolioAnalytics = {
portfolioId: 'portfolio-1',
asOfDateTime: '2024-01-15 10:30:00',
analyticsSummary: {
realizedProfitLoss: 1500.00,
runningProfitLoss: 2300.50,
totalInvestment: 50000.00,
currentInvestment: 45000.00,
totalValue: 52800.50,
currentValue: 47300.50,
previousDayValue: 46800.00,
dailyChangePercentage: 1.07,
totalReturnPercentage: 5.60,
runningReturnPercentage: 5.11
},
riskAnalytics: {
beta: 1.15,
volatility: 0.22,
sharpeRatio: 1.38
},
instrumentBreakdowns: []
};📊 Type Categories
Core Trading Types
Trade- Buy transactions with P&L trackingTransaction- Individual buy/sell transactionsTradeLot- Partial sale tracking for trades
Portfolio Management
Portfolio- Individual investment portfoliosPortfolioGroup- Collections of portfoliosPortfolioAnalytics- Portfolio performance metricsPortfolioInstrumentBreakdown- Instrument-level analyticsPortfolioAnalysis- AI-generated portfolio analysis
Financial Instruments
Instrument- Financial instruments (stocks, bonds, etc.)UserInstrument- User-specific instrument dataPricePoint- Real-time and historical price dataInstrumentRating- Analyst ratings and recommendationsInstrumentUpgradeDowngrade- Rating changesInstrumentRiskProfile- Risk assessment metricsInstrumentFinancialMetric- Financial metrics by year
Cash Management
CashTransaction- Cash flows (deposits, withdrawals)CashBalance- Portfolio cash positions
Market Data
MarketNewsData- Market news feedsMarketGainersLosersData- Top movers dataFxRatePoint- Foreign exchange rates
User & Account Management
User- User accounts and authenticationUserProfile- User preferences and settingsUserClassification- User-defined sector and industry classificationsWatchList- User instrument watch lists
Investment Strategy
Strategy- Investment strategies and plansStrategyInstrument- Individual strategy components
Analytics & Reporting
AnalyticsSummary- Performance metrics summaryRiskAnalytics- Risk assessment metricsInvestmentSummary- Multi-portfolio investment overview
Supporting Types
📚 Detailed Type Reference
Core Trading Types
Trade
Represents a buy transaction with comprehensive profit/loss tracking and analytics.
interface Trade {
/** Unique identifier for the trade (same as buy transaction id) */
id: string;
/** Identifier of the portfolio to which this trade belongs */
portfolioId: string;
/** Identifier of the instrument associated with this trade */
instrumentId: string;
/** Date and time (UTC) when profit/loss and return calculations are valid */
asOfDateTime: string;
/** Total quantity acquired in the buy transaction */
totalQuantity: number;
/** Quantity that has been sold from the original buy transaction */
soldQuantity: number;
/** Quantity still held (open position) from the original buy transaction */
remainingQuantity: number;
/** Analytics summary for this trade */
analyticsSummary: AnalyticsSummary;
/** List of trade lots associated with this trade */
tradeLots: TradeLot[];
}Note: All monetary values are in portfolio currency, not transaction currency.
Transaction
Represents an individual financial transaction (buy or sell operation).
interface Transaction {
/** Unique identifier for the transaction */
id: string;
/** Reference to the instrument being traded */
instrumentId: string;
/** Direction of the transaction (buy/sell) */
direction: TradeTransactionDirection;
/** Quantity of the instrument traded */
quantity: number;
/** Price per unit (in instrument currency) */
price: number;
/** Exchange rate to convert to portfolio currency */
exchangeRateToPortfolioCurrency: number;
/** Date and time of the transaction in UTC (YYYY-MM-DD HH:mm:ss format) */
transactionDateTime: string;
/** Transaction fee (in instrument currency) */
transactionFee: number;
/** Reference to the portfolio this transaction belongs to */
portfolioId: string;
/** Optional reference to the broker */
brokerId?: string;
/** Optional transaction ID from the broker */
brokerTransactionId?: string;
/** Optional notes about the transaction */
notes?: string;
}TradeLot
Represents a portion of a trade that has been sold, enabling FIFO/LIFO tracking.
interface TradeLot {
/** Reference to the sell transaction */
sellTransactionId: string;
/** Quantity sold in this lot */
sellQuantity: number;
}Portfolio Management
Portfolio
Represents an individual investment portfolio.
interface Portfolio {
/** Unique identifier for the portfolio */
id: string;
/** Name of the portfolio */
name: string;
/** Currency of the portfolio */
currency: string;
/** Optional notes about the portfolio */
notes?: string;
}PortfolioGroup
Represents a collection of portfolios for consolidated management.
interface PortfolioGroup {
/** Unique identifier for the portfolio group */
id: string;
/** Currency of the portfolio group */
currency: string;
/** Collection of portfolio IDs */
portfolioIds: string[];
/** Optional notes about the portfolio group */
notes?: string;
}PortfolioAnalytics
Comprehensive portfolio-level analytics and performance metrics.
interface PortfolioAnalytics {
/** Reference to the portfolio */
portfolioId: string;
/** Date and time when analytics are valid (in UTC) */
asOfDateTime: string;
/** Analytics summary for this portfolio */
analyticsSummary: AnalyticsSummary;
/** Risk analytics and metrics for this portfolio */
riskAnalytics: RiskAnalytics;
/** List of instrument-level breakdowns */
instrumentBreakdowns: PortfolioInstrumentBreakdown[];
}PortfolioInstrumentBreakdown
Analytics metrics for a specific instrument within a portfolio.
interface PortfolioInstrumentBreakdown {
/** Reference to the instrument */
instrumentId: string;
/** Total open quantity of the instrument */
totalOpenQuantity: number;
/** Total sold quantity of the instrument */
totalSoldQuantity: number;
/** Analytics summary for this instrument */
analyticsSummary: AnalyticsSummary;
}PortfolioAnalysis
AI-generated analysis and insights for a portfolio.
interface PortfolioAnalysis {
/** Unique identifier for the portfolio analysis */
id: string;
/** Date and time when the analysis was created in UTC (YYYY-MM-DD HH:mm:ss format) */
createDateTime: string;
/** Reference to the portfolio that was analyzed */
portfolioId: string;
/** AI-generated analysis text content */
analysis: string;
}Financial Instruments
Instrument
Represents a financial instrument (stock, bond, ETF, etc.).
interface Instrument {
/** Unique identifier (exchange + symbol) */
id: string;
/** Name of the instrument */
name: string;
/** Symbol/ticker of the instrument */
symbol: string;
/** Exchange where the instrument is traded */
exchange: string;
/** Type of the instrument */
type: InstrumentType;
/** Currency of the instrument */
currency: string;
/** Industry classification of the instrument (optional) */
industry?: string;
/** Sector classification of the instrument (optional) */
sector?: string;
/** Optional notes about the instrument */
notes?: string;
}UserInstrument
Financial instrument with user-specific data and current market information.
interface UserInstrument {
/** Unique identifier (exchange + symbol) */
id: string;
/** Name of the instrument */
name: string;
/** Symbol/ticker of the instrument */
symbol: string;
/** Type of the instrument */
type: InstrumentType;
/** Currency of the instrument */
currency: string;
/** Industry classification of the instrument (optional) */
industry?: string;
/** Sector classification of the instrument (optional) */
sector?: string;
/** Optional notes about the instrument */
notes?: string;
/** Risk level of the instrument */
riskLevel: string;
/** Current price */
price: number;
/** Closing price */
close: number;
}PricePoint
Comprehensive price data for a financial instrument.
interface PricePoint {
/** Reference to the instrument */
instrumentId: string;
/** Date and time of the price data in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
/** Current price */
price: number;
/** Opening price */
open: number;
/** Highest price during the period */
high: number;
/** Lowest price during the period */
low: number;
/** Closing price */
close: number;
/** Trading volume */
volume: number;
/** Pre-market change */
preMarketChange: number;
/** Pre-market change percentage */
preMarketChangePercent: number;
/** Shares outstanding */
sharesOutstanding: number;
/** Market cap */
marketCap: number;
/** Forward EPS */
epsForward: number;
/** Forward P/E */
forwardPE: number;
}Note: All prices are in the currency of the instrument.
InstrumentRating
Analyst ratings and recommendations for a financial instrument.
interface InstrumentRating {
/** Reference to the instrument being rated */
instrumentId: string;
/** Average analyst rating (if available) */
averageRating?: number | null;
/** Number of analysts with a "Strong Buy" recommendation */
strongBuy: number;
/** Number of analysts with a "Buy" recommendation */
buy: number;
/** Number of analysts with a "Hold" recommendation */
hold: number;
/** Number of analysts with a "Sell" recommendation */
sell: number;
/** Number of analysts with a "Strong Sell" recommendation */
strongSell: number;
/** Total number of analysts providing recommendations */
totalAnalysts: number;
/** Consensus price target (if available) */
priceTarget?: number | null;
/** Highest price target among all analysts (if available) */
priceTargetHigh?: number | null;
/** Lowest price target among all analysts (if available) */
priceTargetLow?: number | null;
/** Mean (average) price target among all analysts (if available) */
priceTargetMean?: number | null;
/** Median price target among all analysts (if available) */
priceTargetMedian?: number | null;
/** Recommendation trend analysis (if available) */
recommendationTrend?: string | null;
/** Date and time when the rating data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
}InstrumentUpgradeDowngrade
Analyst rating changes (upgrades/downgrades) for a financial instrument.
interface InstrumentUpgradeDowngrade {
/** Reference to the instrument that received the rating change */
instrumentId: string;
/** Name of the financial firm or analyst that issued the rating change */
firm: string;
/** New rating assigned to the instrument (if available) */
toGrade?: string;
/** Previous rating before the change (if available) */
fromGrade?: string;
/** Type of action taken (e.g., "upgrade", "downgrade", "initiate", "reiterate") */
action: string;
/** Timestamp of the grade date in epoch format (if available) */
epochGradeDate?: number;
/** Date when the rating change was issued in readable format (if available) */
gradeDate?: string;
/** New price target set by the analyst (if available) */
priceTarget?: number;
/** Change in price target from previous target (if available) */
priceTargetChange?: number;
/** Date and time when the upgrade/downgrade data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
}InstrumentRiskProfile
Risk assessment metrics for a financial instrument.
interface InstrumentRiskProfile {
/** Reference to the instrument being assessed */
instrumentId: string;
/** Beta coefficient measuring the instrument's volatility relative to the market (if available) */
beta: number | null;
/** Annualized standard deviation of daily returns, indicating price volatility (if available) */
volatility: number | null;
/** Sharpe ratio measuring risk-adjusted return performance (if available) */
sharpeRatio: number | null;
/** Overall risk score on a 0-100 scale, where higher values indicate higher risk (if available) */
riskScore: number | null;
/** Categorized risk level based on quantitative analysis (if available) */
riskLevel: InstrumentRiskLevel | null;
/** Date and time when the risk profile data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
}InstrumentFinancialMetric
Financial metric for an instrument at a specific year.
interface InstrumentFinancialMetric {
/** Reference to the instrument for which the metric is reported */
instrumentId: string;
/** Year for which the financial metric is reported */
year: number;
/** Name or type of the financial metric (e.g., "revenue", "net_income", "eps") */
metric: string;
/** Value of the financial metric for the specified year (if available) */
value: number | null;
/** Date and time when the financial metric data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
}Cash Management
CashTransaction
Represents a cash flow transaction (deposits, withdrawals, dividends, etc.).
interface CashTransaction {
/** Unique identifier for the cash transaction */
id: string;
/** Reference to the portfolio this cash transaction belongs to */
portfolioId: string;
/** Type of the cash transaction */
type: CashTransactionType;
/** Direction of the cash flow (in/out) */
direction: CashTransactionDirection;
/** Amount of the cash transaction (in portfolio currency) */
amount: number;
/** Date and time of the cash transaction in UTC (YYYY-MM-DD HH:mm:ss format) */
transactionDateTime: string;
/** Optional notes about the cash transaction */
notes?: string;
}CashBalance
Cash balance information for a portfolio or portfolio group.
interface CashBalance {
/** Total cash in (deposits, dividends, etc.) */
totalCashIn: number;
/** Total cash out (withdrawals, fees, etc.) */
totalCashOut: number;
/** Net cash from cash transactions (totalCashIn - totalCashOut) */
netCashTransactions: number;
/** Net cash from trade transactions (buy/sell) */
netTradeCash: number;
/** Total cash balance */
totalBalance: number;
}Market Data
MarketNewsData
Market news data at a specific point in time.
interface MarketNewsData {
/** Date and time when the market news data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
/** JSON string containing the market news data */
data: string;
}MarketGainersLosersData
Market gainers and losers data at a specific point in time.
interface MarketGainersLosersData {
/** Date and time when the market gainers and losers data was captured in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
/** JSON string containing the market gainers and losers data */
data: string;
}FxRatePoint
Foreign exchange rate at a specific point in time.
interface FxRatePoint {
/** Date and time of the exchange rate in UTC (YYYY-MM-DD HH:mm:ss format) */
asOfDateTime: string;
/** Base currency (currency being converted from) */
baseCurrency: string;
/** Target currency (currency being converted to) */
toCurrency: string;
/** Exchange rate (how much of toCurrency you get for 1 baseCurrency) */
rate: number;
}User & Account Management
User
Represents a user account in the system.
interface User {
/** Unique identifier for the user */
id: string;
/** Email address of the user */
emailAddress: string;
/** Display name for the user */
displayName: string;
/** Source of user authentication */
source: UserSource;
/** Whether the user account is active */
isActive: boolean;
/** Hash of the user's password */
passwordHash: string;
}UserProfile
User profile information and preferences.
interface UserProfile {
/** Display name for the user */
displayName: string;
/** Default currency for the user */
defaultCurrency: string;
/** Theme preference for the user */
theme: string;
/** Subscription plan for the user */
subscriptionPlan: SubscriptionPlan;
}UserClassification
User-defined sector and industry classifications for financial instruments.
interface UserClassification {
/** Unique Instrument ID */
instrumentId: string;
/** Sector classification of the instrument */
sector: string;
/** Industry classification of the instrument */
industry: string;
}WatchList
User's watch list of financial instruments.
interface WatchList {
/** Unique identifier for the watch list */
id: string;
/** Name of the watch list */
name: string;
/** Description of the watch list */
description: string;
/** Array of instrument IDs in this watch list */
instrumentIds: string[];
}Investment Strategy
Strategy
Investment strategy with associated instruments and performance metrics.
interface Strategy {
/** Unique identifier for the strategy */
id: string;
/** Name of the strategy */
name: string;
/** Date and time when the strategy was created in UTC (YYYY-MM-DD HH:mm:ss format) */
createDateTime: string;
/** Reference to the portfolio this strategy belongs to */
portfolioId: string;
/** Amount of money to invest in this strategy */
amount: number;
/** Risk tolerance level for this strategy */
riskLevel: string;
/** Start date for the strategy implementation (YYYY-MM-DD format) */
startDate: string;
/** Duration of the strategy in a readable format */
duration: string;
/** End date for the strategy (YYYY-MM-DD format) */
endDate: string;
/** Expected return percentage for this strategy */
expectedReturn: number;
/** List of instruments included in this strategy */
instruments: StrategyInstrument[];
}StrategyInstrument
Individual instrument within an investment strategy.
interface StrategyInstrument {
/** Symbol/ticker of the instrument */
symbol: string;
/** Exchange where the instrument is traded */
exchange: string;
/** Amount of money allocated to this instrument */
amount: number;
/** Date when position should be entered (YYYY-MM-DD format) */
entryDate: string;
/** Date when position should be exited (YYYY-MM-DD format) */
exitDate: string;
/** Target price for entering the position */
entryPrice: number;
/** Target price for exiting the position */
exitPrice: number;
/** Expected return percentage for this instrument */
expectedReturn: number;
/** Reasoning or rationale for including this instrument in the strategy */
reason: string;
}Analytics & Reporting
AnalyticsSummary
Comprehensive performance metrics summary for positions, trades, and portfolios.
interface AnalyticsSummary {
/** Realized profit or loss from closed (sold) quantities */
realizedProfitLoss: number;
/** Running (unrealized) profit or loss for open positions */
runningProfitLoss: number;
/** Total amount invested (including both open and closed positions) */
totalInvestment: number;
/** Amount currently invested in open positions */
currentInvestment: number;
/** Total market value for both open and closed positions as of the given date */
totalValue: number;
/** Current market value for the open position based on market data as of the given date */
currentValue: number;
/** Previous day's market value for the open position */
previousDayValue: number;
/** Daily change percentage from previous day */
dailyChangePercentage: number;
/** Total return (including open and closed positions), expressed as a percentage */
totalReturnPercentage: number;
/** Running return for open positions, expressed as a percentage */
runningReturnPercentage: number;
}RiskAnalytics
Risk assessment metrics for financial analysis.
interface RiskAnalytics {
/** Beta coefficient measuring volatility relative to the market (if available) */
beta: number | null;
/** Annualized standard deviation of daily returns, indicating price volatility (if available) */
volatility: number | null;
/** Sharpe ratio measuring risk-adjusted return performance (if available) */
sharpeRatio: number | null;
}InvestmentSummary
Summary of investment metrics across multiple portfolios.
interface InvestmentSummary {
/** A dictionary of portfolio analytics, keyed by portfolio ID */
portfoliosAnalytics: Record<string, PortfolioAnalytics>;
/** A dictionary of portfolio cash balances, keyed by portfolio ID */
portfoliosCashBalance: Record<string, CashBalance>;
}Supporting Types
Broker
Represents a financial broker or trading platform.
interface Broker {
/** Unique identifier for the broker */
id: string;
/** Name of the broker */
name: string;
/** Optional notes about the broker */
notes?: string;
}Currency
Currency code and description.
interface Currency {
/** ISO currency code (e.g., 'USD', 'EUR') */
code: string;
/** Optional description of the currency */
description?: string | null;
}🏷️ Enumerations
InstrumentType
Different types of financial instruments.
enum InstrumentType {
STOCK = 'stock',
ETF = 'etf',
BOND = 'bond',
FOREX = 'forex',
CRYPTO = 'crypto',
COMMODITY = 'commodity',
PRECIOUS_METAL = 'precious_metal',
EXOTIC = 'exotic',
INDEX = 'index',
UNKNOWN = 'unknown'
}TradeTransactionDirection
Direction of trade transactions.
enum TradeTransactionDirection {
BUY = 'buy',
SELL = 'sell'
}CashTransactionDirection
Direction of cash transactions.
enum CashTransactionDirection {
IN = 'in',
OUT = 'out'
}CashTransactionType
Types of cash transactions.
enum CashTransactionType {
DEPOSIT = 'deposit',
DIVIDEND = 'dividend',
INTEREST_EARNED = 'interestEarned',
WITHDRAWAL = 'withdrawal',
BROKER_MAINTENANCE_FEE = 'brokerMaintenanceFee',
INTEREST_PAID = 'interestPaid',
MISC = 'misc'
}UserSource
Authentication providers for users.
enum UserSource {
GOOGLE = 'google',
FACEBOOK = 'facebook',
LINKEDIN = 'linkedin',
LOCAL = 'local'
}SubscriptionPlan
Different subscription tiers available to users.
enum SubscriptionPlan {
/** Free tier with basic features */
FREE = 'free',
/** Basic paid tier with additional features */
BASIC = 'basic',
/** Premium tier with all features and advanced analytics */
PRO = 'pro'
}InstrumentRiskLevel
Risk level classification for financial instruments.
type InstrumentRiskLevel = 'Low' | 'Medium' | 'High';📝 Conventions & Standards
Date & Time Format
- All date/time fields use UTC timezone
- Format:
YYYY-MM-DD HH:mm:ss(ISO 8601 without timezone designation) - Date-only fields use
YYYY-MM-DDformat
Currency Conventions
- Portfolio Currency: All monetary calculations and P&L are in the portfolio's base currency
- Instrument Currency: Price data and transaction fees are in the instrument's trading currency
- Exchange Rates: Used to convert between instrument and portfolio currencies
Nullable Values
- Optional fields use
?:syntax - Nullable values use
| nullunion type - Undefined values are avoided in favor of explicit null
Naming Conventions
- Interfaces: PascalCase (e.g.,
PortfolioAnalytics) - Properties: camelCase (e.g.,
portfolioId) - Enums: PascalCase with UPPER_CASE values
- IDs: Always string type, typically kebab-case or colon-separated
🏗️ Project Structure
src/
├── types/
│ ├── analyticsSummary.ts
│ ├── broker.ts
│ ├── cashBalance.ts
│ ├── cashTransaction.ts
│ ├── cashTransactionDirection.ts
│ ├── cashTransactionType.ts
│ ├── currency.ts
│ ├── fxRatePoint.ts
│ ├── instrument.ts
│ ├── instrumentFinancialMetric.ts
│ ├── instrumentRating.ts
│ ├── instrumentRiskProfile.ts
│ ├── instrumentType.ts
│ ├── instrumentUpgradeDowngrade.ts
│ ├── investmentSummary.ts
│ ├── marketGainersLosersData.ts
│ ├── marketNewsData.ts
│ ├── portfolio.ts
│ ├── portfolioAnalysis.ts
│ ├── portfolioAnalytics.ts
│ ├── portfolioGroup.ts
│ ├── portfolioInstrumentBreakdown.ts
│ ├── pricePoint.ts
│ ├── riskAnalytics.ts
│ ├── strategy.ts
│ ├── trade.ts
│ ├── tradeLot.ts
│ ├── tradeTransactionDirection.ts
│ ├── transaction.ts
│ ├── user.ts
│ ├── userClassification.ts
│ ├── userInstrument.ts
│ ├── userProfile.ts
│ └── watchList.ts
├── index.ts
├── tsconfig.json
├── tsconfig.cjs.json
└── tsconfig.esm.json🛠️ Development
Build Commands
# Build both ESM and CommonJS distributions
npm run build
# Build CommonJS only
npm run build:cjs
# Build ESM only
npm run build:esm
# Clean build artifacts
npm run cleanTypeScript Configuration
- Target: ES2020
- Module: Dual (ESM + CommonJS)
- Strict Mode: Enabled
- Declaration: Generated for both distributions
📄 License
MIT License - see LICENSE file for details.
🤝 Contributing
This package is part of the Dromanis Finora ecosystem. For contributions and issues, please contact the development team.
Built with ❤️ for the Dromanis Finora platform
