Permalink
Find file
54f4253 Oct 16, 2016
@apease @ArtificialMarty
4001 lines (3406 sloc) 139 KB
;; Access to and use of these products is governed by the GNU General Public
;; License <http://www.gnu.org/copyleft/gpl.html>.
;; By using these products, you agree to be bound by the terms
;; of the GPL.
;; We ask that people using or referencing this work cite our primary paper:
;; Niles, I., and Pease, A. 2001. Towards a Standard Upper Ontology. In
;; Proceedings of the 2nd International Conference on Formal Ontology in
;; Information Systems (FOIS-2001), Chris Welty and Barry Smith, eds,
;; Ogunquit, Maine, October 17-19, 2001. See also www.ontologyportal.org
;; =======================
;; Financial Organizations
;; =======================
(subclass FinancialOrganization Organization)
(documentation FinancialOrganization EnglishLanguage "The class &%FinancialOrganization includes,
as subclasses, &%Bank-FinancialOrganization, &%CreditUnion and &%SavingsAnLoans.")
(subclass Bank-FinancialOrganization FinancialOrganization)
(documentation Bank-FinancialOrganization EnglishLanguage "An organization, chartered by a state or
federal government, which does most or all of the following: receives &%Deposits,
honors &%FinancialInstruments drawn on them, and pays &%Interest on them, discounts
&%Notes, makes &%Loans, and invests in &%SecuredLoans, collects &%Checks, &%Drafts
and &%Notes, certifies depositor's checks, and issues drafts and Cashier's checks.")
(subclass CreditUnion FinancialOrganization)
(documentation CreditUnion EnglishLanguage "Credit unions are non-profit, member-owned, financial
cooperatives. They are operated entirely by and for their members. When you deposit
money in a credit union, you become a member of the union because your deposit is
considered partial ownership in the credit union. Many large organizations have
established credit unions for their employees.")
(subclass SavingsAndLoans FinancialOrganization)
(documentation SavingsAndLoans EnglishLanguage "A federally or state chartered &%FinancialOrganization
that takes &%Deposits from individuals, funds &%Mortgages, and pays &%Dividends.")
;; Financial Accounts and instruments
(subclass FinancialAsset Physical)
(documentation FinancialAsset EnglishLanguage "Any item of economic value owned by an individual or
corporation, especially that which could be converted to cash. Examples are cash,
securities, accounts receivable, inventory, office equipment, a house, a car, and
other property.")
(=>
(instance ?Asset FinancialAsset)
(exists (?Value)
(monetaryValue ?Asset ?Value)))
(subAttribute FinancialContract Contract)
(documentation FinancialContract EnglishLanguage "A financial agreement between two or more parties")
;; KJN: Edit. This seems to make more sense given that every other implementation of
;; FinancialAccount treats it as a subclass rather than an attribute.
;;(subAttribute FinancialAccount Contract)
(subclass FinancialAccount Agreement)
(documentation FinancialAccount EnglishLanguage "A formal banking, brokerage, or business relationship
established to provide for regular services, dealings, and other financial
transactions.")
(=>
(instance ?Account FinancialAccount)
(and
(property ?Account FinancialContract)
(property ?Account ServiceContract)))
(=>
(instance ?Account FinancialAccount)
(exists (?Organization)
(and
(instance ?Organization FinancialOrganization)
(accountAt ?Account ?Organization))))
(=>
(and
(instance ?Account FinancialAccount)
(accountAt ?Account ?Bank))
(exists (?Activity)
(and
(instance ?Activity ControllingAnAccount)
(patient ?Activity ?Account)
(agent ?Activity ?Bank))))
(subclass Note FinancialInstrument)
(documentation Note EnglishLanguage "A legal document that obligates a borrower to repay a loan
at a specified interestRate during a specified period of time or on demand")
(subclass Check FinancialInstrument)
(documentation Check EnglishLanguage "A &%FinancialInstrument drawn against deposited funds,
to pay a specified amount of money to a specific person upon demand.")
(=>
(instance ?Check Check)
(exists (?Value)
(monetaryValue ?Check ?Value)))
(=>
(instance ?Check Check)
(exists (?Account)
(checkAccount ?Check ?Account)))
(=>
(and
(monetaryValue ?Check ?Amount)
(checkAccount ?Check ?Account)
(instance ?Processing ProcessingACheck)
(patient ?Processing ?Check)
(equal (WhenFn ?Processing) ?ProcessingTime))
(exists (?Withdrawal)
(and
(instance ?Withdrawal Withdrawal)
(instrument ?Withdrawal ?Check)
(equal (WhenFn ?Withdrawal) ?WithdrawalTime)
(meetsTemporally ?ProcessingTime ?WithdrawalTime)
(transactionAmount ?Withdrawal ?Amount)
(origin ?Withdrawal ?Account))))
(=>
(and
(monetaryValue ?Check ?Amount)
(instance ?Processing ProcessingACheck)
(patient ?Processing ?Check)
(destination ?Processing (CurrencyFn ?Account))
(instance ?Account FinancialAccount)
(equal (WhenFn ?Processing) ?ProcessingTime))
(exists (?Deposit)
(and
(instance ?Deposit Deposit)
(instrument ?Deposit ?Check)
(equal (WhenFn ?Deposit) ?DepositTime)
(meetsTemporally ?ProcessingTime ?DepositTime)
(transactionAmount ?Deposit ?Amount)
(destination ?Deposit (CurrencyFn ?Account)))))
(=>
(and
(instance ?Check Check)
(instance ?Processing ProcessingACheck)
(patient ?Processing ?Check))
(exists (?Depositing)
(and
(instance ?Depositing DepositingACheck)
(patient ?Depositing ?Check)
(time ?Depositing (ImmediatePastFn (WhenFn ?Processing))))))
(=>
(and
(instance ?Depositing DepositingACheck)
(instance ?Check Check)
(agent ?Depositing ?Agent))
(signedBy ?Check ?Agent))
(=>
(and
(instance ?Drawing DrawingACheck)
(patient ?Drawing ?Check)
(instance ?Processing ProcessingACheck)
(patient ?Processing ?Check)
(equal (WhenFn ?Drawing) ?DrawingTime)
(equal (WhenFn ?Procesing) ?ProcessingTime)
(meetsTemporally ?DrawingTime ?Time)
(meetsTemporally ?Time ?ProcessingTime)
(duration ?Time ?Duration))
(lessThan ?Duration (MeasureFn 6 MonthDuration)))
(subclass PayCheck Check)
(documentation PayCheck EnglishLanguage "A check issued to an employee in payment of salary or wages")
(=>
(and
(instance ?Check PayCheck)
(issuedBy ?Check ?Organization)
(instance ?Give Giving)
(destination ?Give ?Agent))
(employs ?Agent ?Organization))
(subclass BankCard FinancialInstrument)
(documentation BankCard EnglishLanguage "A &%CreditCard or a &%DebitCard issued by a
&%FinancialOrganization.")
(=>
(instance ?Card BankCard)
(exists (?Organization)
(issuedBy ?Card ?Organization)))
(=>
(and
(instance ?Card BankCard)
(issuedBy ?Card ?Bank))
(exists (?Account)
(and
(instance ?Account FinancialAccount)
(cardAccount ?Card ?Account)
(accountAt ?Account ?Bank))))
(subclass DebitCard BankCard)
(documentation DebitCard EnglishLanguage "A card which allows customers to access their funds
immediately, electronically. Unlike a credit card, a debit card does not have
any float.")
(=>
(and
(instance ?Card DebitCard)
(possesses ?Agent ?Card))
(exists (?Account)
(and
(instance ?Account DepositAccount)
(cardAccount ?Card ?Account)
(accountHolder ?Account ?Agent))))
(subclass CreditCard BankCard)
(documentation CreditCard EnglishLanguage "Any card that may be used repeatedly to borrow money
or buy products and services on credit. Issued by banks, savings and loans, retail
stores, and other businesses.")
(=>
(and
(instance ?Card CreditCard)
(possesses ?Agent ?Card))
(exists (?Account)
(and
(instance ?Account CreditCardAccount)
(cardAccount ?Card ?Account)
(accountHolder ?Account ?Agent))))
(subrelation accountAt partyToAgreement)
(instance accountAt BinaryPredicate)
(domain accountAt 1 FinancialAccount)
(domain accountAt 2 FinancialOrganization)
(documentation accountAt EnglishLanguage "(&%accountAt ?Account ?Bank) means that ?Account is a
&%FinancialAccount opened in the &%FinancialOrganization ?Bank.")
(instance cardAccount BinaryPredicate)
(domain cardAccount 1 BankCard)
(domain cardAccount 2 FinancialAccount)
(documentation cardAccount EnglishLanguage "(&%cardAccount ?Card ?Account) means that ?Account is
the &%FinancialAccount linked to a BankCard ?Card.")
(instance checkAccount BinaryPredicate)
(domain checkAccount 1 Check)
(domain checkAccount 2 FinancialAccount)
(documentation checkAccount EnglishLanguage "(&%checkAccount ?Check ?Account) means that ?Account
is the &%FinancialAccount from which the amount specifed on the check is paid.")
(subrelation accountHolder partyToAgreement)
(instance accountHolder BinaryPredicate)
(domain accountHolder 1 FinancialAccount)
(domain accountHolder 2 CognitiveAgent)
(documentation accountHolder EnglishLanguage "(&%accountHolder ?Account ?Agent) means that ?Agent
is the account holder of the &%FinancialAccount ?Account.")
;; KJN: Moving this to Mid-level-ontology as it is more general than a financial instrument
;;(instance issuedBy BinaryPredicate)
;;(domain issuedBy 1 Certificate)
;;(domain issuedBy 2 CognitiveAgent)
;;(documentation issuedBy EnglishLanguage "(&%issuedBy ?Certificate ?Agent) means that a
;;&%Certificate ?Certificate is produced and offered by ?Agent.")
;;(=>
;; (and
;; (issuedBy ?TICKET ?AGENT)
;; (instance ?TICKET Ticket)
;; (possesses ?CUST ?TICKET))
;; (confersNorm ?AGENT
;; (exists (?T)
;; (and
;; (holdsDuring ?T
;; (exists (?P)
;; (and
;; (instance ?P Process)
;; (agent ?P ?AGENT)
;; (experiencer ?P ?CUST))))) Permission)))
(instance signedBy BinaryPredicate)
(domain signedBy 1 Certificate)
(domain signedBy 2 CognitiveAgent)
(documentation signedBy EnglishLanguage "(&%signedBy ?Instrument ?Agent) means that ?Instrument
has been signed by ?Agent.")
(instance CurrencyFn UnaryFunction)
(domain CurrencyFn 1 FinancialAccount)
(range CurrencyFn FinancialInstrument)
(documentation CurrencyFn EnglishLanguage "A unary function that maps a &%FinancialAccount to the
currency linked to the account.")
;; Financial Activities
(subclass OpeningAnAccount FinancialTransaction)
(documentation OpeningAnAccount EnglishLanguage "An activity of opening a financial account")
(=>
(and
(instance ?Opening OpeningAnAccount)
(eventLocated ?Opening ?Bank)
(instance ?Bank FinancialOrganization)
(agent ?Opening ?Agent)
(equal (WhenFn ?Opening) ?OpeningTime))
(exists (?Account ?AccountPeriod)
(and
(agreementPeriod ?Account ?AccountPeriod)
(meetsTemporally ?OpeningTime ?AccountPeriod)
(instance ?Account FinancialAccount)
(accountAt ?Account ?Bank)
(accountHolder ?Account ?Agent))))
(subclass UsingAnAccount FinancialTransaction)
(documentation UsingAnAccount EnglishLanguage "An activity of using a financial account")
(=>
(and
(instance ?Using UsingAnAccount)
(patient ?Using ?Account)
(accountHolder ?Account ?Agent))
(agent ?Using ?Agent))
(subclass DrawingACheck UsingAnAccount)
(documentation DrawingACheck EnglishLanguage "An activity of paying by a check.")
(=>
(and
(instance ?Drawing DrawingACheck)
(patient ?Drawing ?Check)
(agent ?Drawing ?Agent)
(checkAccount ?Check ?Account))
(accountHolder ?Account ?Agent))
(subclass DepositingACheck UsingAnAccount)
(documentation DepositingACheck EnglishLanguage "An activity of depositing a check into a
&%FinancialOrganization.")
(=>
(instance ?Depositing DepositingACheck)
(exists (?Check)
(and
(instance ?Check Check)
(patient ?Depositing ?Check))))
(=>
(and
(instance ?Depositing DepositingACheck)
(patient ?Depositing ?Check)
(instance ?Check Check)
(checkAccount ?Check ?Account)
(monetaryValue ?Check ?Amount))
(exists (?Deposit)
(and
(instance ?Deposit Deposit)
(destination ?Deposit (CurrencyFn ?Account))
(transactionAmount ?Deposit ?Amount))))
(subclass ControllingAnAccount FinancialTransaction)
(documentation ControllingAnAccount EnglishLanguage "An activity of controlling a financial account")
(=>
(and
(instance ?Controlling ControllingAnAccount)
(patient ?Controlling ?Account)
(accountAt ?Account ?Bank))
(agent ?Controlling ?Bank))
(subclass ProcessingACheck ControllingAnAccount)
(subclass ProcessingACheck AuthorizationOfTransaction)
(documentation ProcessingACheck EnglishLanguage "An activity of paying the amount specified on the
check from funds on deposit.")
(=>
(instance ?Processing ProcessingACheck)
(exists (?Check)
(and
(instance ?Check Check)
(patient ?Procesing ?Check))))
(=>
(instance ?Processing ProcessingACheck)
(exists (?Authorization)
(and
(instance ?Authorization AuthorizationOfTransaction)
(subProcess ?Authorization ?Processing))))
(subclass AuthorizationOfTransaction ControllingAnAccount)
(subclass AuthorizationOfTransaction RegulatoryProcess)
(subclass AuthorizationOfTransaction FinancialService)
(documentation AuthorizationOfTransaction EnglishLanguage "An activity which approves or
disapproves a transaction.")
(subclass ClosingAnAccount FinancialTransaction)
(documentation ClosingAnAccount EnglishLanguage "An activity of closing a financial account")
(=>
(and
(instance ?Closing ClosingAnAccount)
(patient ?Closing ?Account))
(and
(holdsDuring
(ImmediatePastFn (WhenFn ?Closing))
(instance ?Account FinancialAccount))
(holdsDuring
(ImmediateFutureFn (WhenFn ?Closing))
(not (instance ?Account FinancialAccount)))))
(subclass Payment FinancialTransaction)
(documentation Payment EnglishLanguage "The partial or complete discharge of an obligation by
its settlement in the form of the transfer of funds, assets, or services equal
to the monetary value of part or all of the debtor's obligation.")
(=>
(and
(instance ?Payment Payment)
(origin ?Payment (CurrencyFn ?Account))
(instance ?Account FinancialAccount)
(transactionAmount ?Payment ?Amount)
(currentAccountBalance ?Account (ImmediatePastFn (WhenFn ?Payment)) ?Balance1)
(equal ?Balance2 (SubtractionFn ?Balance1 ?Amount)))
(currentAccountBalance ?Account (ImmediateFutureFn (WhenFn ?Payment)) ?Balance2))
(subclass Deposit FinancialTransaction)
(disjoint Deposit Withdrawal)
(documentation Deposit EnglishLanguage "An Activity of money being transferred into a customer's
account at a financial institution.")
(=>
(instance ?Deposit Deposit)
(exists (?Account)
(destination ?Deposit (CurrencyFn ?Account))))
(=>
(and
(instance ?Deposit Deposit)
(time ?Deposit ?TimeOfDeposit)
(instance ?Account FinancialAccount)
(destination ?Deposit (CurrencyFn ?Account))
(transactionAmount ?Deposit ?Amount)
(currentAccountBalance ?Account (ImmediatePastFn (WhenFn ?Deposit)) ?Balance1)
(equal ?Balance2 (AdditionFn ?Balance1 ?Amount)))
(currentAccountBalance ?Account (ImmediateFutureFn (FutureFn ?Deposit)) ?Balance2))
(subclass Withdrawal FinancialTransaction)
(documentation Withdrawal EnglishLanguage "An activity of money being transferred from a customer's
account at a financial institution.")
(=>
(instance ?Withdrawal Withdrawal)
(exists (?Account)
(and
(instance ?Account FinancialAccount)
(origin ?Withdrawal (CurrencyFn ?Account)))))
(=>
(and
(instance ?Withdrawal Withdrawal)
(time ?Withdrawal ?TimeOfWithdrawal)
(instance ?Account FinancialAccount)
(origin ?Withdrawal ?Account)
(transactionAmount ?Withdrawal ?Amount)
(currentAccountBalance ?Account (ImmediatePastFn (WhenFn ?Withdrawal)) ?Balance1)
(equal ?Balance2 (SubtractionFn ?Balance1 ?Amount)))
(currentAccountBalance ?Account (ImmediateFutureFn (FutureFn ?Withdrawal)) ?Balance2))
(subclass Investing FinancialTransaction)
(documentation Investing EnglishLanguage "An activity of commiting money or capital in order to
gain a financial return.")
(=>
(and
(agent ?Purchase ?Buyer)
(origin ?Purchase ?Seller)
(patient ?Purchase ?Object)
(monetaryValue ?Object ?Money))
(exists (?Payment)
(and
(subProcess ?Payment ?Purchase)
(instance ?Payment Payment)
(transactionAmount ?Payment ?Money)
(destination ?Payment ?Seller))))
(=>
(instance ?Investing Investing)
(hasPurpose ?Investing
(exists (?Profit)
(profit ?Investing ?Profit))))
(subclass AutomaticTransaction FinancialTransaction)
(documentation AutomaticTransaction EnglishLanguage "&%Transactions which occur through computer
networks and which do not require direct management.")
;; Interest and Interest Rates
(subclass Interest CurrencyMeasure)
(documentation Interest EnglishLanguage "Money paid for the use of money.")
(subclass InterestRate ConstantQuantity)
(documentation InterestRate EnglishLanguage "The usual way of calculating Interest, as a
percentage of the sum borrowed.")
(instance interestEarned TernaryPredicate)
(domain interestEarned 1 FinancialAccount)
(domain interestEarned 2 Interest)
(domain interestEarned 3 TimeInterval)
(documentation interestEarned EnglishLanguage "(&%interestEarned ?Account ?Interest ?Period) means
that ?Interest is the amount earned on the &%FinancialAccount ?Account, for the
duration ?Period.")
(instance simpleInterest TernaryPredicate)
(subrelation simpleInterest interestEarned)
(domain simpleInterest 1 FinancialAccount)
(domain simpleInterest 2 Interest)
(domain simpleInterest 3 TimeInterval)
(documentation simpleInterest EnglishLanguage "(&%simpleInterest ?Account ?Amount ?Time) means
that ?Amount is the interest calculated on a principal sum, not compounded on
earned interest, for the duration ?Time.")
(=>
(and
(principalAmount ?Account ?Balance)
(fixedInterestRate ?Account ?Rate)
(simpleInterest ?Account ?Amount ?Period)
(equal ?Rate-Decimal (DivisionFn (MagnitudeFn ?Rate) 100)))
(equal ?Amount (MultiplicationFn (MultiplicationFn (MagnitudeFn ?Period) ?Balance) ?Rate-Decimal)))
(instance compoundInterest TernaryPredicate)
(subrelation compoundInterest interestEarned)
(domain compoundInterest 1 FinancialAccount)
(domain compoundInterest 2 Interest)
(domain compoundInterest 3 TimeInterval)
(documentation compoundInterest EnglishLanguage "(&%compoundInterest ?Account ?Amount ?Time) means
that ?Amount is the interest which is calculated not only on the initial principal
but also the accumulated interest of prior periods. Compound interest can be
calculated annually, semi-annually, quartely, monthly, or daily.")
(=>
(and
(principalAmount ?Account ?Balance)
(fixedInterestRate ?Account ?Rate)
(compoundInterest ?Account ?Interest ?Period)
(equal ?Rate-Decimal (DivisionFn ?Rate 100))
(equal ?Add (AdditionFn 1 ?Rate-Decimal))
(equal ?Exponent (ExponentiationFn ?Add (MagnitudeFn ?Period)))
(equal ?Multiply (MultiplicationFn ?Exponent ?Balance)))
(equal ?Interest (SubtractionFn ?Multiply ?Balance)))
(instance interestRatePerPeriod TernaryPredicate)
(domain interestRatePerPeriod 1 FinancialAccount)
(domain interestRatePerPeriod 2 InterestRate)
(domain interestRatePerPeriod 3 TimeInterval)
(documentation interestRatePerPeriod EnglishLanguage
"(interestRatePerPeriod ?ACCOUNT ?RATE ?TIME) means that ?RATE is the interest
per the period TIME divided by principal amount, expressed as a percentage")
(=>
(and
(simpleInterest ?Account ?Interest ?Period)
(principalAmount ?Account ?Principal)
(equal ?Rate-Decimal (DivisionFn ?Interest ?Principal))
(equal ?Rate (MultiplicationFn ?Rate-Decimal 100)))
(interestRatePerPeriod ?Account ?Rate ?Period))
(instance primeInterestRate BinaryPredicate)
(domain primeInterestRate 1 Day)
(domain primeInterestRate 2 InterestRate)
(documentation primeInterestRate EnglishLanguage "The interest rate that commercial banks charge
their most creditworthy borrowers, such as large corporations. The prime rate is
a lagging indicator.")
(=>
(and
(instance ?Account PersonalAccount)
(currentInterestRate ?Account ?Date ?Rate)
(primeInterestRate ?Date ?PrimeRate))
(greaterThan ?Rate ?PrimeRate))
(instance currentInterestRate TernaryPredicate)
(domain currentInterestRate 1 FinancialAccount)
(domain currentInterestRate 2 Day)
(domain currentInterestRate 3 InterestRate)
(documentation currentInterestRate EnglishLanguage "(&%currentInterestRate ?Account ?Day ?Rate)
means that ?Rate is the interest rate of the Account on a specific day ?Day.")
(instance fixedInterestRate BinaryPredicate)
(domain fixedInterestRate 1 FinancialAccount)
(domain fixedInterestRate 2 InterestRate)
(documentation fixedInterestRate EnglishLanguage "(&%fixedInterestRate ?Account ?Rate) holds if
?Rate is the interest rate that does not change during the entire term of the
account.")
;; dates
(instance maturityDate BinaryPredicate)
(subrelation maturityDate agreementExpirationDate)
(domain maturityDate 1 FinancialAccount)
(domain maturityDate 2 Day)
(documentation maturityDate EnglishLanguage "The date on which the principal amount of the account
becomes due and payable.")
(=>
(and
(maturityDate ?Account ?Date)
(principalAmount ?Account ?Principal))
(amountDue ?Account ?Principal ?Date))
(<=>
(and
(agreementPeriod ?Account ?Period)
(finishes ?End ?Period))
(maturityDate ?Account ?End))
(instance amountDue TernaryPredicate)
(domain amountDue 1 FinancialAccount)
(domain amountDue 2 CurrencyMeasure)
(domain amountDue 3 TimePosition)
(documentation amountDue EnglishLanguage "(&%amountDue ?ACCOUNT ?AMOUNT ?DATE) means ?DATE is the
date on which the amount of Money ?AMOUNT of a particular ?ACCOUNT is due and payable")
(=>
(and
(amountDue ?Account ?Amount ?DueDate)
(accountHolder ?Account ?Agent))
(holdsObligation (KappaFn ?Payment
(and
(instance ?Payment Payment)
(transactionAmount ?Payment ?Amount)
(or
(destination ?Payment (CurrencyFn ?Account))
(origin ?Payment (CurrencyFn ?Account)))
(date ?Payment ?Date)
(beforeOrEqual (EndFn ?Date) (BeginFn ?DueDate)))) ?Agent))
;; Balances and payments
(instance currentAccountBalance TernaryPredicate)
(domain currentAccountBalance 1 FinancialAccount)
(domain currentAccountBalance 2 Day)
(domain currentAccountBalance 3 CurrencyMeasure)
(documentation currentAccountBalance EnglishLanguage "(&%currentAccountBalance ?Account ?Date ?Amount) means that ?Amount is the balance of the FinancialAccount ?Account as of the date
?Date.")
(instance minimumBalance TernaryPredicate)
(domain minimumBalance 1 FinancialAccount)
(domainSubclass minimumBalance 2 FinancialTransaction)
(domain minimumBalance 3 CurrencyMeasure)
(documentation minimumBalance EnglishLanguage "(&%minimumBalance ?Account ?ActivityType ?Amount)
means that ?Amount is the mimimum amount required by the type of
&%FinancialTransaction ?ActivityType.")
(=>
(and
(instance ?Account ?FinancialAccount)
(minimumBalance ?Account OpeningAnAccount ?Balance))
(exists (?Payment)
(and
(destination ?Payment (CurrencyFn ?Account))
(transactionAmount ?Payment ?Amount)
(greaterThanOrEqualTo ?Amount ?Balance)
(agreementEffectiveDate ?Account ?Date)
(date ?Payment ?Date))))
(=>
(and
(instance ?Account ?FinancialAccount)
(minimumBalance ?Account UsingAnAccount ?Balance)
(currentAccountBalance ?Account ?Date ?Amount)
(lessThan ?Amount ?Balance))
(exists (?Penalty)
(and
(instance ?Penalty Penalty)
(date ?Penalty ?Date)
(destination ?Penalty (CurrencyFn ?Account)))))
(instance originalBalance BinaryPredicate)
(domain originalBalance 1 FinancialAccount)
(domain originalBalance 2 CurrencyMeasure)
(documentation originalBalance EnglishLanguage "(&%originalBalance ?ACCOUNT ?BALANCE) means that
?BALANCE is the balance of the account at the time the account is opened.")
(=>
(and
(agreementEffectiveDate ?Account ?Date)
(currentAccountBalance ?Account ?Date ?Balance))
(originalBalance ?Account ?Balance))
(instance principalAmount BinaryPredicate)
(domain principalAmount 1 FinancialAccount)
(domain principalAmount 2 CurrencyMeasure)
(documentation principalAmount EnglishLanguage "(&%principalAmount ?ACCOUNT ?BALANCE) means
that ?BALANCE is the amount borrowed, or the part of the amount borrowed
which remains unpaid (excluding interest).")
(instance periodicPayment TernaryPredicate)
(domain periodicPayment 1 FinancialAccount)
(domain periodicPayment 2 CurrencyMeasure)
(domain periodicPayment 3 TimeDuration)
(documentation periodicPayment EnglishLanguage "(&%periodicPayment ?Pay ?Amount ?Period) holds if
?Pay is one of the periodic payments for the amount ?Amount.")
(=>
(periodicPayment ?Account ?Amount ?Period)
(exists (?Payment)
(and
(instance ?Payment Payment)
(origin ?Payment (CurrencyFn ?Account))
(transactionAmount ?Payment ?Amount)
(frequency ?Payment ?Period))))
(instance minimumPayment TernaryPredicate)
(domain minimumPayment 1 LiabilityAccount)
(domain minimumPayment 2 CurrencyMeasure)
(domain minimumPayment 3 TimeDuration)
(documentation minimumPayment EnglishLanguage "The smallest amount which can be paid on a revolving
charge account to avoid a penalty.")
(=>
(and
(instance ?Account LiabilityAccount)
(minimumPayment ?Account ?MinPayment MonthDuration)
(exists (?Payment ?Month)
(and
(instance ?Month Month)
(destination ?Payment (CurrencyFn ?Account))
(paymentsPerPeriod ?Account ?Amount ?Month)
(lessThan ?Amount ?MinPayment))))
(exists (?Penalty)
(and
(instance ?Penalty Penalty)
(destination ?Penalty (CurrencyFn ?Account)))))
(instance overdraft TernaryPredicate)
(domain overdraft 1 FinancialAccount)
(domain overdraft 2 CurrencyMeasure)
(domain overdraft 3 Day)
(documentation overdraft EnglishLanguage "The amount by which withdrawals exceed deposits.")
(=>
(and
(currentAccountBalance ?Account ?Date (MeasureFn ?Balance UnitedStatesDollar))
(lessThan ?Balance 0)
(equal ?Overdraft (SubtractionFn 0 ?Balance)))
(overdraft ?Account (MeasureFn ?Overdraft UnitedStatesDollar) ?Date))
(instance creditLimit BinaryPredicate)
(domain creditLimit 1 CreditAccount)
(domain creditLimit 2 CurrencyMeasure)
(documentation creditLimit EnglishLanguage "(&%creditLimit ?ACCOUNT ?AMNT) holds if ?AMNT is the
maximum amount of credit that a bank or other lender will extend to a customer.")
(instance floorLoan BinaryPredicate)
(domain floorLoan 1 Loan)
(domain floorLoan 2 CurrencyMeasure)
(documentation floorLoan EnglishLanguage "A minimum amount that a lender is willing to loan")
(instance downPayment BinaryPredicate)
(domain downPayment 1 Loan)
(domain downPayment 2 CurrencyMeasure)
(documentation downPayment EnglishLanguage "The part of the purchase price paid in cash up front,
reducing the amount of the loan or mortgage.")
(=>
(and
(downPayment ?Loan ?Amount)
(agreementEffectiveDate ?Loan ?Date))
(exists (?Payment)
(and
(transactionAmount ?Payment ?Amount)
(date ?Payment ?Date)
(destination ?Payment (CurrencyFn ?Loan)))))
(=>
(and
(downPayment ?Loan ?Amount)
(loanForPurchase ?Loan ?Purchase)
(monetaryValue ?Purchase ?Value)
(equal ?Balance (SubtractionFn ?Value ?Amount)))
(originalBalance ?Loan ?Balance))
(subclass Prepayment Payment)
(documentation Prepayment EnglishLanguage "Prepayment is the payment of all or part of a debt
prior to its due date.")
(=>
(and
(transactionAmount ?Payment ?Amount)
(date ?Payment ?Date)
(instance ?Account FinancialAccount)
(destination ?Payment (CurrencyFn ?Account))
(amountDue ?Account ?AmountDue ?DueDate)
(before (EndFn ?Date) (BeginFn ?DueDate)))
(instance ?Payment Prepayment))
;;
;;(instance accountsBalance TernaryPredicate)
;;(domainSubclass accountsBalance 1 FinancialAccount)
;;(domain accountsBalance 2 CurrencyMeasure)
;;(domain accountsBalance 3 Day)
;;
;(=>
;; (and
;; (equal ?Total 0)
;; (forall (?Account)
;; (=>
;; (and
;; (member ?Account ?SetOfAccounts)
;; (currentAccountBalance ?Account ?Date ?Balance))
;; (and
;; (equal NewTotal (AdditionFn ?Total ?Balance))
;; (equal Total NewTotal))))
;; (accountsBalance ?SetOfAccounts ?Total ?Date))
;;
(instance netWorth TernaryPredicate)
(instance netWorth SingleValuedRelation)
(domain netWorth 1 CognitiveAgent)
(domain netWorth 2 CurrencyMeasure)
(domain netWorth 3 Day)
(documentation netWorth EnglishLanguage "Total assets minus total liabilities of an individual or company.")
(=>
(netWorth ?Agent ?Amount ?Date)
(holdsDuring ?Date (equal ?Amount (WealthFn ?Agent))))
;;(=>
;; (and
;; (accountsBalance
;; (KappaFn ?Assets
;; (and
;; (possesses ?Agent ?Assets)
;; (instance ?Assets DepositAccount))) ?TotalAssets ?Date)
;; (KappaFn ?Debt
;; (and
;; (accountHolder ?Debt ?Agent)
;; (instance ?Debt LiabilityAccount))) ?TotalDebt ?Date)
;; (equal ?Net (SubtractionFn ?TotalAssets ?TotalDebt))))
;; fees
(subclass ChargingAFee FinancialTransaction)
(documentation ChargingAFee EnglishLanguage "An activity of a fee being charged")
(instance serviceFee TernaryPredicate)
(domain serviceFee 1 FinancialOrganization)
(domain serviceFee 2 FinancialTransaction)
(domain serviceFee 3 CurrencyMeasure)
(documentation serviceFee EnglishLanguage "A charge to the customer levied by a &%FinancialOrganization
for a &%FinancialTransaction, such as &%OpeningAnAccount or &%UsingAnAccount.")
(=>
(serviceFee ?Bank ?Action ?Amount)
(exists (?Fee)
(and
(instance ?Fee ChargingAFee)
(agent ?Fee ?Bank)
(causes ?Action ?Fee)
(amountCharged ?Fee ?Amount))))
(subrelation amountCharged transactionAmount)
(instance amountCharged BinaryPredicate)
(domain amountCharged 1 ChargingAFee)
(domain amountCharged 2 CurrencyMeasure)
(documentation amountCharged EnglishLanguage "(&%amountCharged ?Fee ?Amount) means that ?Amount is the amount of
the fee charged.")
(subclass Penalty ChargingAFee)
(documentation Penalty EnglishLanguage "A fee charged as a penalty.")
(subclass Tax ChargingAFee)
(documentation Tax EnglishLanguage "A fee charged by a government on a product, income, or activity.")
(=>
(instance ?Tax Tax)
(exists (?Org)
(and
(instance ?Org Government)
(agent ?Tax ?Org))))
(subclass TaxReturn FormText)
(documentation TaxReturn EnglishLanguage "A &%FormText that is used for calculating the amount
of income tax owed in a given year.")
(=>
(instance ?RETURN TaxReturn)
(hasPurpose ?RETURN
(exists (?CALCULATE ?AMOUNT ?TAX)
(and
(instance ?CALCULATE Calculating)
(instrument ?CALCULATE ?RETURN)
(result ?CALCULATE ?AMOUNT)
(transactionAmount ?TAX ?AMOUNT)
(instance ?TAX Tax)))))
(subclass IncomeTax Tax)
(documentation IncomeTax EnglishLanguage "A &%Tax on annual income.")
(subclass DutyTax Tax)
(documentation DutyTax EnglishLanguage "A &%Tax that is levied on imports and/or exports.")
(=>
(and
(instance ?X DutyTax)
(refers ?X ?OBJ)
(patient ?X ?OBJ))
(exists (?T ?N1 ?N2)
(and
(instance ?T Transfer)
(patient ?T ?OBJ)
(origin ?T ?N1)
(destination ?T ?N2)
(instance ?N1 Nation)
(instance ?N2 Nation)
(not (equal ?N1 ?N2))
(earlier (WhenFn ?T) (WhenFn ?X))
(causes ?T ?X))))
;; Types of Accounts
(subclass InterestBearingAccount FinancialAccount)
(documentation InterestBearingAccount EnglishLanguage "FinancialAccounts that have a fixed or adjustable interest rate.")
(=>
(instance ?Account InterestBearingAccount)
(exists (?Rate ?Period)
(interestRatePerPeriod ?Account ?Rate ?Period)))
(subclass FixedRateAccount InterestBearingAccount)
(disjoint FixedRateAccount AdjustableRateAccount)
(documentation FixedRateAccount EnglishLanguage "An &%InterestBearingAccount in which the interest rate does not
change during the entire term of the loan.")
(<=>
(exists (?Rate)
(fixedInterestRate ?Account ?Rate))
(instance ?Account FixedRateAccount))
(subclass AdjustableRateAccount InterestBearingAccount)
(documentation AdjustableRateAccount EnglishLanguage "An &%InterestBearingAccount in which
the interest rate is adjusted periodically, usually based on a standard
market rate outside the control of the bank or savings institution, such
as that prevailing on &%TreasuryBill or the &%primeInterestRate.")
(subclass PersonalAccount FinancialAccount)
(documentation PersonalAccount EnglishLanguage "This is the class of personal accounts, as opposed to
&%CorporateAccounts.")
(<=>
(and
(accountHolder ?Account ?Agent)
(instance ?Agent Human))
(instance ?Account PersonalAccount))
(subclass JointAccount PersonalAccount)
(documentation JointAccount EnglishLanguage "An account owned by two or more people, usually sharing a household
and expenses. Each co-owner has equal access to the account. Most types of accounts, whether it's
basic checking, savings or money market, allow for joint use")
(<=>
(and
(instance ?Account PersonalAccount)
(greaterThan (CardinalityFn (KappaFn ?Agent (accountHolder ?Account ?Agent))) 1))
(instance ?Account JointAccount))
(subclass CorporateAccount FinancialAccount)
(disjoint CorporateAccount PersonalAccount)
(documentation CorporateAccount EnglishLanguage "This is the class of accounts held by corporations. This class
is disjoint with &%PersonalAccounts.")
(<=>
(and
(accountHolder ?Account ?Agent)
(instance ?Agent Corporation))
(instance ?Account CorporateAccount))
(subclass DepositAccount FinancialAccount)
(documentation DepositAccount EnglishLanguage "An account where money is deposited for checking, savings or
brokerage use.")
(subclass SavingsAccount InterestBearingAccount)
(documentation SavingsAccount EnglishLanguage "An account in a bank on which interest is usually paid and from
which withdrawals can be made usually only by presentation of a passbook or by written authorization
on a prescribed form.")
(=>
(and
(instance ?Account SavingsAccount)
(instance ?Transaction FinancialTransaction)
(origin ?Transaction (CurrencyFn ?Account)))
(exists (?Authorization)
(and
(instance ?Authorization AuthorizationOfTransaction)
(subProcess ?Authorization ?Transaction))))
(=>
(and
(instance ?Account SavingsAccount)
(accountHolder ?Account ?Agent)
(interestEarned ?Account ?Interest ?Period))
(exists (?Payment)
(and
(destination ?Payment (CurrencyFn ?Account))
(transactionAmount ?Payment ?Interest)
(destination ?Payment ?Agent))))
(subclass MoneyMarket SavingsAccount)
(documentation MoneyMarket EnglishLanguage "&%MoneyMarket is for borrowing and lending money for three years
or less. The securities in a money market can be U.S. government bonds, TreasuryBills and commercial
paper from banks and companies.")
(=>
(instance ?Account MoneyMarket)
(liquidity ?Account HighLiquidity))
(=>
(instance ?Account MoneyMarket)
(riskLevel ?Account LowRisk))
(subclass TreasuryBill SavingsAccount)
(documentation TreasuryBill EnglishLanguage "A negotiable debt obligation issued by the U.S. government and backed
by its full faith and credit, having a maturity of one year or less. Exempt from state and local taxes")
(=>
(instance ?Account TreasuryBill)
(riskLevel ?Account LowRisk))
(subclass CertificateOfDeposit SavingsAccount)
(documentation CertificateOfDeposit EnglishLanguage "CDs (certificates of deposit) are bank, credit union or savings
and loan instruments that allow the depositor to lock in an interest rate for a specific period of
time (e.g. six months, one year, five years). If the money is withdrawn from the CD before the CD
matures, there is likely to be an early-withdrawal penalty -- often three month's interest. Generally,
the longer the time period of the CD, the higher the interest paid.")
(=>
(instance ?CD CertificateOfDeposit)
(exists (?Date)
(maturityDate ?CD ?Date)))
(=>
(and
(instance ?CD CertificateOfDeposit)
(maturityDate ?CD ?MaturityDate)
(instance ?Withdrawal Withdrawal)
(origin ?Withdrawal (CurrencyFn ?CD))
(date ?Withdrawal ?DateOfWithdrawal)
(before (EndFn ?DateOfWithdrawal) (BeginFn ?MaturityDate)))
(exists (?Penalty)
(and
(instance ?Penalty Penalty)
(destination ?Penalty (CurrencyFn ?CD))
(causes ?Withdrawal ?Penalty))))
(subclass TraditionalSavingsAccount SavingsAccount)
(documentation TraditionalSavingsAccount EnglishLanguage "Accounts that pay interest, usually at below-market
interest rates, that do not have a specific maturity, and that usually can be withdrawn upon demand")
(=>
(instance ?Account TraditionalSavingsAccount)
(liquidity ?Account HighLiquidity))
(=>
(instance ?Account TraditionalSavingsAccount)
(not
(exists (?Date)
(maturityDate ?Account ?Date))))
(=>
(and
(instance ?Account TraditionalSavingsAccount)
(instance ?Withdrawal Withdrawal)
(origin ?Withdrawal (CurrencyFn ?Account)))
(not (exists (?Penalty)
(and
(instance ?Penalty Penalty)
(destination ?Penalty (CurrencyFn ?Account))
(causes ?Withdrawal ?Penalty)))))
(subclass CheckingAccount DepositAccount)
(documentation CheckingAccount EnglishLanguage "A bank account against which the depositor can draw checks")
(=>
(and
(instance ?Account CheckingAccount)
(instance ?Transaction FinancialTransaction)
(origin ?Transaction (CurrencyFn ?Account)))
(or
(exists (?Check)
(and
(instance ?Check Check)
(instrument ?Transaction ?Check)))
(exists (?DebitCard)
(and
(instance ?DebitCard DebitCard)
(instrument ?Transaction ?DebitCard)))))
(subclass InvestmentAccount DepositAccount)
(documentation InvestmentAccount EnglishLanguage "An account acquired for future financial return or benefit")
(subclass MutualFundAccount InvestmentAccount)
(documentation MutualFundAccount EnglishLanguage "An open-ended fund operated by an investment company which
raises money from shareholders and invests in a group of assets, in accordance with a stated
set of objectives. Benefits include diversification and professional money management. Shares
are issued and redeemed on demand, based on the fund's net asset value which is determined at
the end of each trading session.")
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass Liability FinancialContract)
(subAttribute Liability FinancialContract)
(documentation Liability EnglishLanguage "A financial obligation, debt, claim, or potential loss")
(subclass LiabilityAccount FinancialAccount)
(documentation LiabilityAccount EnglishLanguage "An account for which a person is liable")
(=>
(and
(instance ?Account LiabilityAccount)
(accountHolder ?Account ?Agent)
(accountAt ?Account ?Bank))
(exists (?Debt)
(and
(property ?Debt Liability)
(partyToAgreement ?Debt ?Agent)
(partyToAgreement ?Debt ?Bank))))
(subclass PensionPlan FinancialAccount)
(documentation PensionPlan EnglishLanguage "A qualified retirement plan set up by a
corporation, labor union, government, or other organization for its
employees. Examples include profit-sharing plans, stock bonus and
employee stock ownership plans, thrift plans, target benefit plans,
money purchase plans, and defined benefit plans.")
(=>
(and
(instance ?P PensionPlan)
(accountHolder ?P ?A)
(employs ?O ?A))
(financialAccount ?P ?O))
(subclass ProfitSharingPlan PensionPlan)
(documentation ProfitSharingPlan EnglishLanguage "An arrangement in which an employer
shares its profits with its employees. The compensation can be stocks,
bonds or cash, and can be immediate or deferred until retirement.")
(=>
(and
(instance ?PSP ProfitSharingPlan)
(accountHolder ?PSP ?H)
(employs ?O ?H)
(profit ?A ?P)
(agent ?A ?O))
(exists (?C ?PAY)
(and
(instance ?PAY FinancialTransaction)
(transactionAmount ?PAY ?C)
(lessThan ?C ?P)
(destination ?PAY ?PSP))))
(subclass CreditAccount LiabilityAccount)
(documentation CreditAccount EnglishLanguage "Credit extended by a business to a customer")
(=>
(and
(instance ?Account CreditAccount)
(accountAt ?Account ?Organization)
(accountHolder ?Account ?Agent)
(interestEarned ?Account ?Interest ?Period))
(exists (?Payment)
(and
(origin ?Payment ?Agent)
(transactionAmount ?Payment ?Interest)
(destination ?Payment ?Organization))))
(=>
(and
(instance ?Account CreditAccount)
(accountHolder ?Account ?Agent)
(principalAmount ?Account ?Principal)
(agreementPeriod ?Account ?Period)
(interestEarned ?Account ?Interest ?Period)
(equal ?Total (AdditionFn ?Principal ?Interest)))
(holdsObligation (KappaFn ?Payment
(transactionAmount ?Payment ?Total)) ?Agent))
(subclass CreditCardAccount CreditAccount)
(documentation CreditCardAccount EnglishLanguage "A type of &%CreditAccount which uses a &%CreditCard for
&%FinancialTransactions.")
(=>
(and
(instance ?Account CreditCardAccount)
(instance ?Transaction FinancialTransaction)
(origin ?Transaction (CurrencyFn ?Account)))
(exists (?Card)
(and
(instance ?Card CreditCard)
(instrument ?Transaction ?Card))))
(subclass Loan LiabilityAccount)
(documentation Loan EnglishLanguage "An arrangement in which a lender gives money or property to a borrower,
and the borrower agrees to return the property or repay the money, usually along with interest,
at some future point(s) in time.")
(=>
(instance ?Loan Loan)
(exists (?Borrower ?Lender)
(and
(borrower ?Loan ?Borrower)
(lender ?Loan ?Lender))))
(=>
(and
(borrower ?Loan ?Borrower)
(lender ?Loan ?Lender)
(agreementPeriod ?Loan ?Period)
(interestEarned ?Loan ?Interest ?Period))
(exists (?Payment)
(and
(origin ?Payment ?Borrower)
(transactionAmount ?Payment ?Interest)
(destination ?Payment ?Lender))))
(=>
(and
(instance ?Account Loan)
(borrower ?Account ?Agent)
(principalAmount ?Account ?Principal)
(agreementPeriod ?Account ?Period)
(interestEarned ?Account ?Interest ?Period)
(equal ?Total (AdditionFn ?Principal ?Interest)))
(holdsObligation (KappaFn ?Payment
(transactionAmount ?Payment ?Total)) ?Agent))
(subrelation lender partyToAgreement)
(instance lender BinaryPredicate)
(domain lender 1 Loan)
(domain lender 2 CognitiveAgent)
(documentation lender EnglishLanguage "(&%lender ?Loan ?Agent) means that ?Agent is a private, public or
institutional entity that put up the funds for the ?Loan.")
(=>
(lender ?Loan ?Agent)
(exists (?Lending)
(and
(instance ?Lending Lending)
(agent ?Lending ?Agent))))
(subrelation borrower partyToAgreement)
(instance borrower BinaryPredicate)
(domain borrower 1 Loan)
(domain borrower 2 CognitiveAgent)
(documentation borrower EnglishLanguage "(&%borrower ?Loan ?Agent) means that ?Agent is a borrower of the ?Loan")
(=>
(borrower ?Loan ?Agent)
(exists (?Borrowing)
(and
(instance ?Borrowing Borrowing)
(agent ?Borrowing ?Agent))))
(instance loanForPurchase BinaryPredicate)
(domain loanForPurchase 1 Loan)
(domain loanForPurchase 2 Object)
(documentation loanForPurchase EnglishLanguage "(&%loanForPurchase ?ACCOUNT ?PRODUCT) means that ?ACCOUNT is a
loan to finance the purchase of ?PRODUCT.")
(subclass Collateral FinancialAsset)
(documentation Collateral EnglishLanguage "Assets pledged by a borrower to secure a loan or other credit, and
subject to seizure in the event of &%FinancialDefault.")
(<=>
(instance ?Collateral Collateral)
(exists (?Loan)
(and
(instance ?Loan SecuredLoan)
(securedBy ?Loan ?Collateral))))
(documentation securedBy EnglishLanguage "Assets pledged by a borrower to secure a loan
or other credit, and subject to seizure in the event of FinancialDefault.")
(instance securedBy BinaryPredicate)
(domain securedBy 1 FinancialAccount)
(domain securedBy 2 Collateral)
(=>
(and
(instance ?Loan Loan)
(securedBy ?Loan ?Security)
(lender ?Loan ?Bank)
(instance ?Default FinancialDefault)
(patient ?Default ?Loan))
(holdsDuring
(ImmediateFutureFn (WhenFn ?Default))
(possesses ?Bank ?Security)))
(subclass SecuredLoan Loan)
(disjoint SecuredLoan UnsecuredLoan)
(<=>
(instance ?Loan SecuredLoan)
(exists (?Security)
(securedBy ?Loan ?Security)))
(subclass UnsecuredLoan Loan)
(subclass RealEstate Region)
(subclass RealEstate FinancialAsset)
(subclass RealEstate CorpuscularObject)
(documentation RealEstate EnglishLanguage "Land, including all the natural resources and permanent buildings on it.")
(=>
(instance ?Estate RealEstate)
(or
(instance ?Estate StationaryArtifact)
(instance ?Estate LandArea)
(exists (?Artifact ?Area)
(and
(instance ?Artifact StationaryArtifact)
(instance ?Area LandArea)
(equal ?Estate (MereologicalSumFn ?Artifact ?Area))))))
(=>
(and
(instance ?T Trespassing)
(patient ?T ?P))
(instance ?P RealEstate))
(subclass Mortgage SecuredLoan)
(documentation Mortgage EnglishLanguage "A loan to finance the purchase of real estate, usually with specified payment
periods and interest rates.")
(=>
(instance ?Loan Mortgage)
(exists (?Estate)
(and
(instance ?Estate RealEstate)
(loanForPurchase ?Loan ?Estate))))
(=>
(and
(instance ?Loan Mortgage)
(loanForPurchase ?Loan ?RealEstate))
(securedBy ?Loan ?RealEstate))
(instance totalBalance BinaryPredicate)
(documentation totalBalance EnglishLanguage "The initial balance of a loan, which is the
amount borrowed.")
(domain totalBalance 1 FinancialAccount)
(domain totalBalance 2 CurrencyMeasure)
(=>
(and
(instance ?LOAN Loan)
(equal ?START (BeginFn ?LOAN))
(totalBalance ?LOAN ?BAL))
(currentAccountBalance ?LOAN ?START ?BAL))
(subclass BalloonLoan Loan)
(documentation BalloonLoan EnglishLanguage "A long-term loan, often a mortgage, that has
one large payment (the balloon payment) due upon maturity. Often done
when refinancing or a major cash flow event is anticipated.")
(=>
(and
(instance ?Loan BalloonLoan)
(maturityDate ?Loan ?Date)
(totalBalance ?Loan ?Amount)
(borrower ?Loan ?Agent))
(holdsObligation (KappaFn ?Payment
(and
(date ?Payment ?Date)
(transactionAmount ?Payment ?Amount)
(destination ?Payment (CurrencyFn ?Loan)))) ?Agent))
(documentation Call EnglishLanguage "Exercising a &%CallOption.")
(subclass Call FinancialTransaction)
(subclass CallableLoan Loan)
(documentation CallableLoan EnglishLanguage "A loan that must repaid upon the lender's demand.")
(=>
(and
(instance ?Loan CallableLoan)
(lender ?Loan ?Lender)
(borrower ?Loan ?Borrower)
(totalBalance ?Loan ?Amount)
(instance ?Call Call)
(agent ?Call ?Lender)
(time ?Call ?Time)
(patient ?Call ?Loan))
(holdsObligation
(KappaFn ?Payment
(and
(destination ?Payment ?Lender)
(time ?Payment (ImmediateFutureFn (WhenFn ?Call)))
(transactionAmount ?Payment ?Amount)))
?Borrower))
(subclass Refinancing FinancialTransaction)
(documentation Refinancing EnglishLanguage "Paying off an existing loan with the proceeds from a new loan, using
the same property as collateral.")
(=>
(and
(instance ?Refinancing Refinancing)
(time ?Refinancing ?Time)
(instance ?Loan Loan)
(securedBy ?Loan ?Collateral)
(borrower ?Loan ?Borrower)
(currentAccountBalance ?Loan ?Date ?Amount)
(patient ?Refinancing ?Loan))
(exists (?NewLoan ?Payment)
(and
(instance ?NewLoan Loan)
(borrower ?NewLoan ?Borrower)
(securedBy ?Loan ?Collateral)
(destination ?Payment (CurrencyFn ?Loan))
(time ?Payment ?Time)
(origin ?Payment (CurrencyFn ?NewLoan))
(transactionAmount ?Payment ?Amount))))
(subAttribute LoanCommitment Contract)
(documentation LoanCommitment EnglishLanguage "A formal offer by a lender making explicit
the terms under which it agrees to lend money to a borrower over a certain
period of time.")
(=>
(property ?Commitment LoanCommitment)
(exists (?Loan ?Lender ?Borrower)
(and
(instance ?Loan Loan)
(lender ?Loan ?Lender)
(borrower ?Loan ?Borrower)
(partyToAgreement ?Commitment ?Lender)
(partyToAgreement ?Commitment ?Borrower))))
(subrelation appraisedValue monetaryValue)
(instance appraisedValue BinaryPredicate)
(domain appraisedValue 1 Collateral)
(domain appraisedValue 2 CurrencyMeasure)
(subclass BankTermLoan Loan)
(documentation BankTermLoan EnglishLanguage "A bank loan terminating in one year or more.")
(=>
(and
(instance ?Loan BankTermLoan)
(lender ?Loan ?Lender))
(instance ?Lender Bank-FinancialOrganization))
(=>
(and
(instance ?Loan BankTermLoan)
(agreementPeriod ?Loan ?Period)
(duration ?Period (MeasureFn ?Duration YearDuration)))
(greaterThanOrEqualTo ?Duration 1))
(subclass BridgeLoan Loan)
(documentation BridgeLoan EnglishLanguage "Short-term financing which is expected to be paid back relatively
quickly, such as by a subsequent longer-term loan.")
(subclass BrokerLoan Loan)
(documentation BrokerLoan EnglishLanguage "Money lent to &%Brokers by banks, for financing
the underwriting of new issues, financing customer margin accounts, and
other purposes.")
(=>
(and
(instance ?Loan BrokerLoan)
(borrower ?Loan ?Borrower))
(attribute ?Borrower Broker))
(subclass ConsolidationLoan Loan)
(documentation ConsolidationLoan EnglishLanguage "The replacement of multiple loans with a single loan, often
with a lower monthly payment and a longer repayment period.")
(=>
(instance ?Loan ConsolidationLoan)
(exists (?Loan1 ?Loan2 ?Payment1 ?Payment2)
(and
(instance ?Loan1 Loan)
(instance ?Loan2 Loan)
(destination ?Payment1 (CurrencyFn ?Loan1))
(destination ?Payment2 (CurrencyFn ?Loan2))
(origin ?Payment1 (CurrencyFn ?Loan))
(origin ?Payment2 (CurrencyFn ?Loan)))))
(subclass FHALoan Mortgage)
(disjoint FHALoan ConventionalMortgage)
(documentation FHALoan EnglishLanguage "A government mortgage that is insured by the Federal Housing
Administration (FHA).")
(=>
(instance ?Loan FHALoan)
(insured ?Loan FederalHousingAdministration))
;; KJN: Moving this to Mid-level-ontology.kif to remove dependencies.
;;(instance insured BinaryPredicate)
;;(instance insured AsymmetricRelation)
;;(domain insured 1 Contract)
;;(domain insured 2 Organization)
;;(documentation insured EnglishLanguage "(insured ?Contract ?Org) means that ?Contract is insured
;;by the ?Organization.")
(subclass FederalHousingAdministration Government)
(subclass ConventionalMortgage Mortgage)
(documentation ConventionalMortgage EnglishLanguage "A mortgage that is not insured or guaranteed
by the government.")
(=>
(instance ?Mortgage ConventionalMortgage)
(not (exists (?Government)
(and
(instance ?Government Government)
(insured ?Mortgage ?Government)))))
(subclass DayLoan Loan)
(documentation DayLoan EnglishLanguage "A bank loan to a &%Broker for the purchase of securities pending delivery
through clearing later the same day.")
(=>
(and
(instance ?Loan DayLoan)
(lender ?Loan ?Lender))
(instance ?Lender Bank-FinancialOrganization))
(=>
(and
(instance ?Loan DayLoan)
(borrower ?Loan ?Borrower))
(attribute ?Borrower Broker))
(=>
(instance ?Loan DayLoan)
(and
(agreementPeriod ?Loan ?Period)
(duration ?Period (MeasureFn 1 DayDuration))))
(subclass PiggybankLoan Loan)
(documentation PiggybankLoan EnglishLanguage "Two lenders participating in the same loan.")
(=>
(instance ?Loan PiggybankLoan)
(equal (CardinalityFn (KappaFn ?Lender (lender ?Loan ?Lender))) 2))
(subclass SinglePaymentLoan Loan)
(documentation SinglePaymentLoan EnglishLanguage "A loan whose principal is due in total with a single
payment at maturity.")
(=>
(and
(instance ?Loan SinglePaymentLoan)
(principalAmount ?Loan ?Principal)
(maturityDate ?Loan ?Maturity))
(amountDue ?Loan ?Principal ?Maturity))
(subclass EvergreenLoan Loan)
(documentation EvergreenLoan EnglishLanguage "A short-term loan which is continually renewed rather than repaid.")
(subclass IndexedLoan Loan)
(documentation IndexedLoan EnglishLanguage "A loan in which payments change in response to
changes in an index such as the Consumer Price Index.")
(subclass InterestOnlyLoan Loan)
(documentation InterestOnlyLoan EnglishLanguage "A non-amortized loan in which interest is
due at regular intervals until maturity, when the full principal on the
loan is due.")
(=>
(and
(instance ?Loan InterestOnlyLoan)
(agreementPeriod ?Loan ?Period)
(principalAmount ?Loan ?Principal)
(interestEarned ?Loan ?Interest ?Period))
(and
(amountDue ?Loan ?Principal (EndFn ?Period))
(amountDue ?Loan ?Interest ?Date)
(before (EndFn ?Date) (EndFn ?Period))))
;; indexes
(subclass Index PerformanceMeasure)
(documentation Index EnglishLanguage "A benchmark against which financial or economic performance is measured,
such as the S&P 500 or the Consumer Price Index.")
(=>
(instance ?Index Index)
(exists (?Performance)
(and
(benchmark ?Performance ?Index)
(instance ?Performance EconomicIndicator))))
(subclass EconomicIndicator Proposition)
(documentation EconomicIndicator EnglishLanguage "Data which provide information about or
predict the overall health of the economy or the financial markets,
examples are inflation, interest rates, employment, etc.")
(subclass PerformanceMeasure PhysicalQuantity)
(instance benchmark BinaryPredicate)
(domain benchmark 1 Abstract)
(domain benchmark 2 PerformanceMeasure)
(documentation benchmark EnglishLanguage "A standard by which something can be measured or judged.")
(subclass Inflation EconomicIndicator)
(documentation Inflation EnglishLanguage "The overall general upward price movement of
goods and services in an economy, usually as measured by the Consumer
Price Index and the Producer Price Index.")
(=>
(instance ?Inflation Inflation)
(or
(and
(benchmark ?Inflation ?CPI)
(instance ?CPI ConsumerPriceIndex))
(and
(benchmark ?Inflation ?PPI)
(instance ?PPI ProducerPriceIndex))))
(subclass InflationIndex Index)
(<=>
(instance ?Index InflationIndex)
(exists (?Inflation)
(and
(instance ?Inflation Inflation)
(benchmark ?Inflation ?Index))))
(instance inflationRate BinaryPredicate)
(domain inflationRate 1 Inflation)
(domain inflationRate 2 RealNumber)
(documentation inflationRate EnglishLanguage "The percentage increase in the price of goods and services,
usually annually.")
(instance inflationRateInCountry BinaryPredicate)
(domain inflationRateInCountry 1 Nation)
(domain inflationRateInCountry 2 RealNumber)
(documentation inflationRateInCountry EnglishLanguage "The annually percentage increase
in the price of goods and services for the given &%Nation.")
(=>
(inflationRateInCountry ?N ?R)
(exists (?I)
(and
(instance ?I Inflation)
(duration (WhenFn ?I) YearDuration)
(experiencer ?I ?N)
(inflationRate ?I ?R))))
(subclass ConsumerPriceIndex InflationIndex)
(documentation ConsumerPriceIndex EnglishLanguage "An inflationary indicator that measures
the change in the cost of a fixed basket of products and services,
including housing, electricity, food, and transportation. The CPI is
published monthly.")
(subclass ProducerPriceIndex InflationIndex)
(documentation ProducerPriceIndex EnglishLanguage "An inflationary indicator published by the U.S. Bureau
of Labor Statistics to evaluate wholesale price levels in the economy.")
(subclass StockIndex Index)
(documentation StockIndex EnglishLanguage "Any index which is intended to gauge upward or downward trends
in stock prices.")
(<=>
(instance ?Index StockIndex)
(exists (?Stock)
(and
(instance ?Stock Stock)
(benchmark ?Index ?Stock))))
(instance listedOn AsymmetricRelation)
(domain listedOn 1 Stock)
(domain listedOn 2 Organization)
(subclass NASDAQCompositeIndex Index)
(documentation NASDAQCompositeIndex EnglishLanguage "A market-value weighted index of all common stocks
listed on NASDAQ.")
(=>
(and
(instance ?Index NASDAQCompositeIndex)
(benchmark ?Index ?Stock))
(listedOn ?Stock NASDAQ))
(instance NASDAQ Organization)
(documentation NASDAQ EnglishLanguage "National Association of Securities Dealers Automated Quotations
system.")
(subclass MarketShareWeightedIndex Index)
(documentation MarketShareWeightedIndex EnglishLanguage "A stock index in which each stock affects the
index in proportion to its number of shares outstanding.")
(subclass MarketValueWeightedIndex Index)
(documentation MarketValueWeightedIndex EnglishLanguage "A stock index in which each stock
affects the index in proportion to its market value. Examples include
NASDAQ Composite Index, S&P 500, Wilshire 5000 Equity Index, Hang Seng
Index, and EAFE Index.")
(subclass StockMarket Organization)
(documentation StockMarket EnglishLanguage "General term for the organized trading of stocks through
exchanges and over-the-counter.")
(subclass PriceWeightedIndex Index)
(documentation PriceWeightedIndex EnglishLanguage "A stock index in which each stock affects the index
in proportion to its price per share.")
(subclass NikkeiIndex Index)
(documentation NikkeiIndex EnglishLanguage "Index of 225 leading stocks traded on the Tokyo Stock
Exchange.")
;; Investment management
(subclass Investment FinancialAsset)
(documentation Investment EnglishLanguage "An item of value purchased for income or capital appreciation.")
(=>
(instance ?Investment Investment)
(exists (?Investing ?Agent)
(and
(agent ?Investing ?Agent)
(possesses ?Agent ?Investment))))
(instance Investor SocialRole)
(documentation Investor EnglishLanguage "A person who purchases income-producing assets.")
(=>
(attribute ?Agent Investor)
(exists (?Investing)
(agent ?Investing ?Agent)))
(=>
(attribute ?Agent Investor)
(exists (?Investment)
(and
(instance ?Investment Investment)
(possesses ?Agent ?Investment))))
;; KJN: Moving this to Mid-level-ontology.kif to remove dependencies.
;;(instance profit AsymmetricRelation)
;;(domain profit 1 FinancialTransaction)
;;(domain profit 2 CurrencyMeasure)
;;(documentation profit EnglishLanguage "The positive gain from an investment or business operation after
;;subtracting for all expenses.")
(subclass AssetAllocation FinancialTransaction)
(documentation AssetAllocation EnglishLanguage "The process of dividing investments among different kinds of
assets, such as Stocks, Bonds, RealEstate and cash, to optimize the risk/reward tradeoff based
on an individual's or institution's specific situation and goals.")
(subclass InvestmentAttribute RelationalAttribute)
(=>
(instance ?Attribute InvestmentAttribute)
(exists (?Account)
(and
(attribute ?Account ?Attribute)
(instance ?Account InvestmentAccount))))
(instance liquidity AsymmetricRelation)
(domain liquidity 1 FinancialAccount)
(domain liquidity 2 LiquidityAttribute)
(documentation liquidity EnglishLanguage "Degree to which accounts can be easily converted to cash.")
(<=>
(and
(instance ?Withdrawal Withdrawal)
(instance ?Account FinancialAccount)
(origin ?Withdrawal (CurrencyFn ?Account))
(not (exists (?Penalty)
(and
(instance ?Penalty Penalty)
(destination ?Penalty (CurrencyFn ?Account))
(causes ?Withdrawal ?Penalty)))))
(liquidity ?Account HighLiquidity))
(subclass LiquidityAttribute RelationalAttribute)
(exhaustiveAttribute LiquidityAttribute HighLiquidity LowLiquidity)
(documentation LiquidityAttribute EnglishLanguage "A class of attributes which describe the degree to
which accounts can be easily converted to cash.")
(instance HighLiquidity LiquidityAttribute)
(contraryAttribute HighLiquidity LowLiquidity)
(documentation HighLiquidity EnglishLanguage "An &%Attribute of &%FinancialAccounts which can be easily
converted to cash.")
(instance LowLiquidity LiquidityAttribute)
(documentation LowLiquidity EnglishLanguage "An &%Attribute of &%FinancialAccounts which cannot be easily
converted to cash.")
(instance riskLevel AsymmetricRelation)
(domain riskLevel 1 Investment)
(domain riskLevel 2 RiskAttribute)
(documentation riskLevel EnglishLanguage "Relates an instance of &%Investing to the level of risk associated
with the investment.")
(subclass RiskAttribute RelationalAttribute)
(exhaustiveAttribute RiskAttribute HighRisk LowRisk)
(documentation RiskAttribute EnglishLanguage "A class of attributes which describe the degree of risk
of a particular investment.")
(instance HighRisk RiskAttribute)
(contraryAttribute HighRisk LowRisk)
(documentation HighRisk EnglishLanguage "An &%Attribute that characterizes investments which are likely
to lose their principal.")
(instance LowRisk RiskAttribute)
(instance yieldLevel AsymmetricRelation)
(domain yieldLevel 1 FinancialAccount)
(domain yieldLevel 2 YieldAttribute)
(documentation yieldLevel EnglishLanguage "Relates a &%FinancialAccount to the yield level (i.e. the type of profit)
which can be expected from the account.")
(subclass YieldAttribute RelationalAttribute)
(exhaustiveAttribute YieldAttribute HighYield LowYield)
(documentation YieldAttribute EnglishLanguage "A class of attributes which describe the degree to which
accounts are profitable.")
(instance HighYield YieldAttribute)
(contraryAttribute HighYield LowYield)
(documentation HighYield EnglishLanguage "An &%Attribute that characterizes accounts that are very profitable.")
(instance LowYield YieldAttribute)
(documentation LowYield EnglishLanguage "An &%Attribute that characterizes accounts that are not very profitable.")
(instance potentialLoss TernaryPredicate)
(domain potentialLoss 1 CognitiveAgent)
(domain potentialLoss 2 Investment)
(domain potentialLoss 3 CurrencyMeasure)
(documentation potentialLoss EnglishLanguage "The maximum amount of money the Agent can lose by choosing
this type of Investment.")
;; KJN: Moving this to Mid-level-ontology.kif to join it with other price concepts.
;;(instance price TernaryPredicate)
;;(domain price 1 Physical)
;;(domain price 2 CurrencyMeasure)
;;(domain price 3 Agent)
;;(documentation price EnglishLanguage "(&%price ?Obj ?Money ?Agent) means that ?Agent pays the amount of
;;money ?Money for ?Obj.")
;;(=>
;; (price ?Obj ?Money ?Agent)
;; (exists (?Buying)
;; (and
;; (instance ?Buying Buying)
;; (agent ?Buying ?Agent)
;; (patient ?Buying ?Obj)
;; (transactionAmount ?Buying ?Money))))
(subrelation bidPrice price)
(instance bidPrice TernaryPredicate)
(domain bidPrice 1 Object)
(domain bidPrice 2 CurrencyMeasure)
(domain bidPrice 3 Agent)
(documentation bidPrice EnglishLanguage "(bidPrice ?Obj ?Money ?Agent) means that ?Agent offers to buy
?Obj for the amount of ?Money.")
(=>
(bidPrice ?Obj ?Money ?Agent)
(exists (?Offering)
(and
(instance ?Offering Offering)
(patient ?Offering (exists (?Buying)
(and
(instance ?Buying Buying)
(agent ?Buying ?Agent)
(patient ?Buying ?Obj)
(transactionAmount ?Buying ?Money)))))))
(subrelation askPrice price)
(instance askPrice TernaryRelation)
(domain askPrice 1 Object)
(domain askPrice 2 CurrencyMeasure)
(domain askPrice 3 Agent)
(documentation askPrice EnglishLanguage "(askPrice ?Obj ?Money ?Agent) means that ?Agent offers to sell
?Obj for the amount of ?Money.")
(=>
(askPrice ?Obj ?Money ?Agent)
(exists (?Offering)
(and
(instance ?Offering Offering)
(patient ?Offering (exists (?Selling)
(and
(instance ?Selling Selling)
(agent ?Selling ?Agent)
(patient ?Selling ?Obj)
(transactionAmount ?Selling ?Money)))))))
(subclass FinancialOrder ServiceContract)
(documentation FinancialOrder EnglishLanguage "A request from a client to a &%Broker to buy (buy order) or sell (sell order) a specified amount of a particular security or commodity at a specific
price or at the market price.")
(subclass PlacingAnOrder FinancialTransaction)
(=>
(and
(instance ?Place PlacingAnOrder)
(equal (WhenFn ?Place) ?Time))
(exists (?Order ?Period)
(and
(equal (WhenFn ?Order) ?Period)
(meetsTemporally ?Time ?Period))))
(subclass MarketOrder FinancialOrder)
(documentation MarketOrder EnglishLanguage "An order to buy or sell security at the best prices available.")
(instance orderFor TernaryPredicate)
(domain orderFor 1 FinancialTransaction)
(domainSubclass orderFor 2 FinancialTransaction)
(domain orderFor 3 Security)
(documentation orderFor EnglishLanguage "(&%orderFor ?Order ?Transaction ?Security) means that the content of ?Order
is to realize an instance of ?Transaction where ?Security is the patient of ?Transaction.")
(=>
(and
(instance ?Order PlacingAnOrder)
(orderFor ?Order ?TransactionType ?Shares))
(hasPurpose ?Order
(exists (?Transaction)
(and
(instance ?Transaction ?TransactionType)
(patient ?Transaction ?Shares)))))
(=>
(and
(instance ?Order MarketOrder)
(attribute ?Broker Broker)
(partyToAgreement ?Order ?Broker)
(orderFor ?Order ?TransactionType ?Shares))
(holdsObligation (KappaFn ?Transaction
(and
(instance ?Transaction ?TransactionType)
(patient ?Transaction ?Shares))) ?Broker))
(subclass LimitOrder FinancialOrder)
(documentation LimitOrder EnglishLanguage "LimitOrder is an order to a &%Broker to buy a specified quantity
of a &%Security at or below a specified price, or to sell it at or above a specified &%limitPrice.")
(instance limitPrice BinaryPredicate)
(instance limitPrice AsymmetricRelation)
(domain limitPrice 1 LimitOrder)
(domain limitPrice 2 CurrencyMeasure)
(documentation limitPrice EnglishLanguage "(&%limitPrice ?Order ?Money) means that ?Money is the limit price
for the limit order ?Order. If ?Order is a buy order, then ?Money specifies the maximum price
to be paid. If ?Order is a sell order, then ?Money specifies the minimum price to be paid.")
(=>
(instance ?Order LimitOrder)
(exists (?Price)
(limitPrice ?Order ?Price)))
(=>
(and
(instance ?Order LimitOrder)
(partyToAgreement ?Order ?Broker)
(attribute ?Broker Broker)
(orderFor ?Order Buying ?Object)
(measure ?Object ?Quantity)
(limitPrice ?Order ?LimitPrice)
(askPrice ?Object ?Price ?Time)
(lessThanOrEqualTo ?Price ?LimitPrice))
(holdsObligation
(KappaFn ?Buy
(and
(instance ?Buy Buying)
(patient ?Buy ?Object)
(measure ?Object ?Quantity)
(equal (WhenFn ?Buy) ?BuyingTime)
(overlapsTemporally ?Time ?BuyingTime)))
?Broker))
(=>
(and
(instance ?Order LimitOrder)
(partyToAgreement ?Order ?Broker)
(attribute ?Broker Broker)
(orderFor ?Order Selling ?Object)
(measure ?Object ?Quantity)
(limitPrice ?Order ?LimitPrice)
(bidPrice ?Object ?Price ?Time)
(greaterThanOrEqualTo ?Price ?LimitPrice))
(holdsObligation
(KappaFn ?Sell
(and
(instance ?Sell Selling)
(patient ?Sell ?Object)
(measure ?Object ?Quantity)
(equal (WhenFn ?Sell) ?SellingTime)
(overlapsTemporally ?SellingTime ?Time)))
?Broker))
(instance Broker Position)
(documentation Broker EnglishLanguage "An individual or firm which acts as an intermediary between
a buyer and seller, usually charging a commisssion.")
(=>
(attribute ?Broker Broker)
(exists (?Contract)
(and
(instance ?Contract ServiceContract)
(partyToAgreement ?Contract ?Broker))))
(subclass StopOrder FinancialOrder)
(documentation StopOrder EnglishLanguage "A market order to buy or sell a certain quantity of
a certain security if a specified price (the stopPrice) is reached or passed.")
(subclass Liquidation FinancialTransaction)
(documentation Liquidation EnglishLanguage "The class of events of selling all of a company's assets,
paying outstanding debts, and distribution of the remainder to shareholders, and them
going out of business.")
(subclass Dividend Payment)
(documentation Dividend EnglishLanguage "A taxable payment declared by a company's board of directors
and given to its &%shareHolders out of the company's current or retained earnings.
Usually quarterly. Usually given as cash, but it can also take the form of &%Stock or
other property.")
(subclass Security FinancialInstrument)
(documentation Security EnglishLanguage "An investment instrument, other than an insurance policy or
&%FixedAnnuity insurance policy or fixed annuity issued by a corporation, government,
or other organization which offers evidence of debt or equity.")
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass Annuity FinancialContract)
(subAttribute Annuity FinancialContract)
(documentation Annuity EnglishLanguage "A contract sold by an insurance company designed to provide
payments to the holder at specified intervals, usually after retirement. &%FixedAnnuities
guarantee a certain payment amount, while &%VariableAnnuities do not, but do have the
potential for greater returns, but both are relatively safe, low-yielding investments.")
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass FixedAnnuity Annuity)
(subAttribute FixedAnnuity Annuity)
(documentation FixedAnnuity EnglishLanguage "An investment vehicle offered by an insurance company, that
guarantees a stream of fixed payments over the life of the annuity. The insurer, not the
insured, takes the investment risk.")
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass VariableAnnuity Annuity)
(subclass VariableAnnuity Annuity)
(documentation VariableAnnuity EnglishLanguage "An investment vehicle offered by an insurance company that
does not guarantee a payment amount but does have the potential for greater returns than
a &%FixedAnnuity.")
(subclass ShareUnit CurrencyMeasure)
(documentation ShareUnit EnglishLanguage "The &%UnitOfMeasure representing one share in a corporation. Note
that the number of shares in a corporation can change over time, as does their value. The percentage
ownership that a share entails is time dependent, as well as being dependent on the rules of the legal
jurisdiction that is relevant, and rules set in place by the corporation.")
(subclass Share Security)
(documentation Share EnglishLanguage "Certificate, representing one unit of ownership in a corporation,
&%MutualFund, or limited partnership.")
(instance shareOf BinaryPredicate)
(domain shareOf 1 Share)
(domain shareOf 2 Organization)
(instance shareHolder BinaryPredicate)
(domain shareHolder 1 Share)
(domain shareHolder 2 CognitiveAgent)
(documentation shareHolder EnglishLanguage "(&%shareHolder ?Stock ?Agent) means that ?Agent possesses
shares of &%Stock in a corporation or mutual fund.")
(subclass TaxFreeInvestment Investment)
(=>
(instance ?Investment TaxFreeInvestment)
(not
(exists (?Tax)
(and
(instance ?Tax Tax)
(origin ?Tax ?Investment)))))
(subclass TaxableInvestment Investment)
(=>
(instance ?Investment TaxableInvestment)
(exists (?Tax)
(and
(instance ?Tax Tax)
(origin ?Tax ?Investment))))
(subclass FinancialDefault FinancialTransaction)
(documentation FinancialDefault EnglishLanguage "Failure to make required debt payments on a timely basis
or to comply with other conditions of an obligation or agreement.")
;; Types of Stocks
(subclass Stock FinancialInstrument)
(subclass Stock Investment)
(documentation Stock EnglishLanguage "An instrument that signifies an ownership position,
or equity, in a &%Corporation, and represents a claim on its proportionate
share in the corporation's assets and profits.")
(subclass CommonStock Stock)
(documentation CommonStock EnglishLanguage "Securities representing equity, ownership in a
Corporation, providing voting rights, and entitling the holder to a share
of the company's success through dividends and/or capital appreciation.
In the event of liquidation, common stock holders have rights to a
company's assets only after bondholders, other debt holders, and
&%PreferredStock holders have been satisfied.")
(subclass PreferredStock Stock)
(documentation PreferredStock EnglishLanguage "&%CapitalStock which provides a specific &%Dividend
that is paid before any dividends are paid to common stock holders, and which takes
precedence over common stock in the event of a liquidation. Usually does not carry
voting rights.")
(=>
(instance ?Stock PreferredStock)
(exists (?Dividend ?Amount)
(and
(instance ?Dividend Dividend)
(transactionAmount ?Dividend ?Amount))))
(subclass BlueChipStock Stock)
(documentation BlueChipStock EnglishLanguage "&%Stock with a solid and stable earnings record from a
company that either leads or dominates or is a major player in a specific industry.")
(subclass GrowthStock Stock)
(documentation GrowthStock EnglishLanguage "Investment term that is applied to a &%Stock that is expected
to appreciate in value at a high rate, pay big dividends or split.")
(subclass ValueStock Stock)
(documentation ValueStock EnglishLanguage "When the shares in a company are considered attractive because
the company is undervalue, usually because it has a low P/E ratio.")
(subclass DefensiveStock Stock)
(documentation DefensiveStock EnglishLanguage "&%DefensiveStocks are stocks of food companies, drug
manufacturers and utility companies.")
(subclass RestrictedStock Stock)
(documentation RestrictedStock EnglishLanguage "&%Securities, usually issued in private placements, that
have limited transferability.")
(subclass PennyStock Stock)
(documentation PennyStock EnglishLanguage "Extremely speculative, high-risk &%Stock, usually
with a price of less than 5 dollars per share. In the U.S., nearly all
are traded on the over-the-counter bulletin board.")
(=>
(instance ?Stock PennyStock)
(riskLevel ?Stock HighRisk))
(=>
(and
(instance ?Stock PennyStock)
(askPrice ?Stock (MeasureFn ?Price UnitedStatesDollar) ?Date))
(lessThan ?Price 5))
(documentation stockHolder EnglishLanguage "(stockHolder ?Stock ?Agent) means that
?Agent possesses the &%Stock ?Stock.")
(instance stockHolder BinaryPredicate)
(domain stockHolder 1 Stock)
(domain stockHolder 2 CognitiveAgent)
(subclass StockSplit FinancialTransaction)
(documentation StockSplit EnglishLanguage "Exchange of the number of shares of stock outstanding
for a larger number.")
(instance splitFor TernaryPredicate)
(domain splitFor 1 StockSplit)
(domain splitFor 2 Integer)
(domain splitFor 3 Integer)
(=>
(and
(possesses ?Agent ?Stocks)
(measure ?Stocks (MeasureFn ?Number ShareUnit))
(splitFor ?Event ?N1 ?N2))
(holdsDuring
(ImmediateFutureFn (WhenFn ?Event))
(and
(equal ?N3 (MultiplicationFn ?Number ?N2))
(equal ?NewNumber (DivisionFn ?N3 ?N1))
(measure ?Stocks (MeasureFn ?NewNumber ShareUnit)))))
(=>
(and
(price ?Stocks (MeasureFn ?Number UnitedStatesDollar) ?Time)
(exists (?Event)
(and
(splitFor ?Event ?N1 ?N2)
(equal (WhenFn ?Event) ?TimeOfSplit))))
(and
(equal ?N3 (MultiplicationFn ?Number ?N1))
(equal ?NewNumber (DivisionFn ?N3 ?N2))
(price ?Stocks (MeasureFn ?NewNumber UnitedStatesDollar) ?TimeAfterSplit)
(meetsTemporally ?Time ?TimeOfSplit)
(meetsTemporally ?TimeOfSplit ?TimeAfterSplit)))
;; Bonds
(subclass Bond Investment)
(subclass Bond FinancialInstrument)
(documentation Bond EnglishLanguage "A debt instrument issued for a period of more than one year with
the purpose of raising capital by borrowing. The Federal government, states, cities,
corporations, and many other types of institutions sell bonds. A bond is generally a
promise to repay the principal along with interest on a specified &%maturityDate.")
(=>
(instance ?Bond Bond)
(exists (?Date)
(maturityDate ?Bond ?Date)))
(=>
(and
(instance ?Bond Bond)
(couponInterest ?Bond ?Interest)
(possesses ?BondHolder ?Bond))
(exists (?Period ?Payment)
(and
(periodicPayment (AccountFn ?Bond) ?Interest ?Period)
(destination ?Payment ?BondHolder))))
(instance yield BinaryPredicate)
(domain yield 1 Investment)
(domain yield 2 FunctionQuantity)
(documentation yield EnglishLanguage "The annual rate of return on an investment, expressed as a
percentage. For bonds and notes, it is the coupon rate divided by the market price.")
(instance couponInterest BinaryPredicate)
(domain couponInterest 1 Bond)
(domain couponInterest 2 Interest)
(documentation couponInterest EnglishLanguage "(&%couponInterest ?BOND ?INTEREST) means that ?INTEREST is
the periodic interest payment made to bondholders during the life of the ?BOND.")
(instance accruedInterest BinaryPredicate)
(domain accruedInterest 1 Bond)
(domain accruedInterest 2 Interest)
(documentation accruedInterest EnglishLanguage "The accumulated coupon interest, paid to the seller of a
bond by the buyer unless the bond is in default.")
(instance faceValue BinaryPredicate)
(domain faceValue 1 Collateral)
(domain faceValue 2 CurrencyMeasure)
(documentation faceValue EnglishLanguage "The nominal dollar amount assigned to a security by the issuer.
For an equity security, par is usually a very small amount that bears no relationship to
its market price, except for preferred stock, in which case par is used to calculate dividend
payments. For a debt security, par is the amount repaid to the investor when the bond matures
(usually, corporate bonds have a par value of $1000, municipal bonds $5000, and federal bonds
$10,000).")
(subclass CouponBond Bond)
(documentation CouponBond EnglishLanguage "An unregistered, negotiable bond on which interest and principal
are payable to the holder, regardless of whom it was originally issued to. The coupons are
attached to the bond, and each coupon represents a single interest payment. The holder submits
a coupon, usually semi-annually, to the issuer or paying agent to receive payment. Coupon bonds
are being phased out in favor of registered bonds.")
(instance AccountFn UnaryFunction)
(domain AccountFn 1 FinancialAsset)
(range AccountFn FinancialAccount)
(documentation AccountFn EnglishLanguage "A unary function that maps a &%FinancialAsset to the &%FinancialAccount
associated with the Asset.")
(<=>
(and
(instance ?Account FinancialAccount)
(possesses ?Agent ?Asset)
(equal ?Account (AccountFn ?Asset)))
(accountHolder ?Account ?Agent))
(subclass ZeroCouponBond Bond)
(documentation ZeroCouponBond EnglishLanguage "A bond in which no periodic coupon is paid over the
life of the contract. Instead, both the principal and the interest are paid at the
maturity date.")
(=>
(and
(instance ?Bond ZeroCouponBond)
(maturityDate (AccountFn ?Bond) ?Date)
(possesses ?BondHolder ?Bond)
(principalAmount (AccountFn ?Bond) ?Principal)
(agreementPeriod (AccountFn ?Bond) ?Period)
(interestEarned (AccountFn ?Bond) ?Interest ?Period)
(equal ?Total (AdditionFn ?Principal ?Interest)))
(exists (?Payment)
(and
(instance ?Payment Payment)
(destination ?Payment ?BondHolder)
(origin ?Payment (CurrencyFn ?BondAccount))
(transactionAmount ?Payment ?Total))))
(subclass RegisteredBond Bond)
(documentation RegisteredBond EnglishLanguage "A bond issued with the name of the owner printed on the
face of the certificate. It can be transferred to another individual only with the
owner's endorsement.")
(subclass MunicipalBond Bond)
(subclass MunicipalBond TaxFreeInvestment)
(documentation MunicipalBond EnglishLanguage "Bond issued by a state, city, or local government to
finance operations or special projects, interest on it is often tax-free.")
(=>
(instance ?Bond MunicipalBond)
(exists (?Agent)
(and
(instance ?Agent Government)
(issuedBy ?Bond ?Agent))))
(subclass CorporateBond Bond)
(subclass CorporateBond TaxableInvestment)
(documentation CorporateBond EnglishLanguage "A bond issued by a corporation. Such bonds usually have
a par value of $1,000, are taxable, have a term maturity, are paid for out of a sinking
fund accumulated for that purpose, and are traded on major exchanges.")
(=>
(instance ?Bond CorporateBond)
(exists (?Agent)
(and
(instance ?Agent Corporation)
(issuedBy ?Bond ?Agent))))
(subclass SecuredBond Bond)
(documentation SecuredBond EnglishLanguage "Bond backed by collateral, such as a mortgage
or lien, the title to which would be transferred to the bondholders in the
event of default.")
(=>
(instance ?Bond SecuredBond)
(exists (?Security)
(securedBy ?Bond ?Security)))
(=>
(and
(instance ?Bond SecuredBond)
(securedBy ?Bond ?Security)
(possesses ?Agent ?Bond)
(instance ?Default FinancialDefault)
(patient ?Default ?Bond))
(holdsDuring
(ImmediateFutureFn (WhenFn ?Default))
(possesses ?Agent ?Security)))
(subclass MortgageBond CorporateBond)
(documentation MortgageBond EnglishLanguage "These are bonds generally bought through a
government agency that deals in the real estate market. They are bonds
issued by mortgage lenders.")
(subclass JunkBond CorporateBond)
(documentation JunkBond EnglishLanguage "A high-risk, non-investment-grade bond with a low
credit rating, usually BB or lower, as a consequence, it usually has a high
yield.")
(=>
(instance ?Bond JunkBond)
(riskLevel ?Bond HighRisk))
(=>
(instance ?Bond JunkBond)
(yieldLevel ?Bond HighYield))
(=>
(instance ?Bond JunkBond)
(bondRating ?Bond D-Rating))
(subclass GovernmentBond Bond)
(documentation GovernmentBond EnglishLanguage "A bond sold by the U.S. government.")
(=>
(instance ?Bond GovernmentBond)
(exists (?Agent)
(and
(issuedBy ?Bond ?Agent)
(instance ?Agent Government))))
(=>
(instance ?Bond GovernmentBond)
(riskLevel ?Bond LowRisk))
(=>
(instance ?Bond GovernmentBond)
(yieldLevel ?Bond LowYield))
(=>
(instance ?Bond GovernmentBond)
(bondRating ?Bond AAA-Rating))
(subclass IndexBond Bond)
(documentation IndexBond EnglishLanguage "A bond whose cash flow is inflation-adjusted, by
being linked to the purchasing power of a particular currency.")
(subclass PerformanceBond Bond)
(documentation PerformanceBond EnglishLanguage "A bond issued by an insurance company to
guarantee satisfactory completion of a project by a contractor.")
(subclass TreasuryBond Bond)
(documentation TreasuryBond EnglishLanguage "A negotiable, coupon-bearing debt obligation
issued by the U.S. government and backed by its full faith and credit, having
a maturity of more than 7 years. Interest is paid semi-annually. Exempt from
state and local taxes.")
(=>
(instance ?Bond TreasuryBond)
(exists (?Agent)
(and
(issuedBy ?Bond ?Agent)
(instance ?Agent Government))))
(subclass CallableBond Bond)
(documentation CallableBond EnglishLanguage "A bond which the issuer has the right to redeem
prior to its maturity date, under certain conditions.")
(=>
(and
(instance ?Bond CallableBond)
(issuedBy ?Bond ?Agent))
(capability Call agent ?Agent))
(instance callDate BinaryPredicate)
(domain callDate 1 Bond)
(domain callDate 2 Day)
(documentation callDate EnglishLanguage "Date, prior to maturity, on which a callable bond
may be redeemed.")
(=>
(and
(instance ?Bond CallableBond)
(currentAccountBalance (AccountFn ?Bond) ?Date ?Amount)
(callDate ?Bond ?Date))
(amountDue (AccountFn ?Bond) ?Amount ?Date))
(subclass FinancialRating RelationalAttribute)
(documentation FinancialRating EnglishLanguage "The highest rating is usually AAA-Rating,
and the lowest is D-Rating.")
(instance creditRanking BinaryPredicate)
(subrelation creditRanking attribute)
(domain creditRanking 1 CognitiveAgent)
(domain creditRanking 2 FinancialRating)
(documentation creditRanking EnglishLanguage "(&%creditRanking ?Agent ?Rating) holds if
?Rating is a &%FinancialRating based on financial analysis by a credit
bureau, of one's financial history, specifically as it relates to one's
ability to meet debt obligations. Lenders use this information to decide
whether to approve a loan.")
(subrelation bondRating attribute)
(instance bondRating BinaryPredicate)
(domain bondRating 1 Bond)
(domain bondRating 2 FinancialRating)
(documentation bondRating EnglishLanguage "A measure of the quality and safety of a bond,
based on the issuer's financial condition. More specifically, an
evaluation from a rating service indicating the likelihood that a debt
issuer will be able to meet scheduled interest and principal repayments.
Typically, AAA is highest (best), and D is lowest (worst).")
(instance AAA-Rating FinancialRating)
(documentation AAA-Rating EnglishLanguage "The highest rating given by bond rating agencies")
(instance B-Rating FinancialRating)
(documentation B-Rating EnglishLanguage "A mid-range rating given by bond rating agencies.")
(instance C-Rating FinancialRating)
(documentation C-Rating EnglishLanguage "A mid-range rating given by bond rating agencies.")
(instance D-Rating FinancialRating)
(documentation D-Rating EnglishLanguage "The lowest rating given by bond rating agencies.")
;; Options
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass Option FinancialContract)
(subAttribute Option FinancialContract)
(documentation Option EnglishLanguage "An option is a contract to buy or sell 100 shares
of a stock at a fixed price (the strike price) on or before a fixed date.")
(=>
(property ?Option Option)
(exists (?Type ?Date ?Stock ?Price)
(and
(or
(equal ?Type CallOption)
(equal ?Type PutOption))
(property ?Option ?Type)
(agreementExpirationDate ?Option ?Date)
(strikePrice ?Option ?Price)
(underlier ?Option ?Stocks)
(measure ?Stock (MeasureFn 100 ShareUnit)))))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass ConventionalOption Option)
(subAttribute ConventionalOption Option)
(documentation ConventionalOption EnglishLanguage "Short-term option contracts.")
(=>
(property ?Option ConventionalOption)
(exists (?Number)
(and
(agreementPeriod ?Option ?Period)
(duration ?Period (MeasureFn ?Number MonthDuration))
(lessThan ?Number 9))))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass LEAPS Option)
(subAttribute LEAPS Option)
(documentation LEAPS EnglishLanguage "Calls and puts with an expiration as long as
thirty-nine months. Currently, equity LEAPS have two series at any
time with a January expiration. For example, in October 2000, LEAPS
are available with expirations of January 2002 and January 2003.")
(=>
(property ?Option ConventionalOption)
(exists (?Number)
(and
(agreementPeriod ?Option ?Period)
(duration ?Period (MeasureFn ?Number MonthDuration))
(lessThan ?Number 39))))
;; KJN: Edit. Incorrect definition, should be subAttribute
(subrelation optionHolder partyToAgreement)
(instance optionHolder BinaryPredicate)
;;(domain optionHolder 1 Option)
(domain optionHolder 1 Agreement)
(domain optionHolder 2 CognitiveAgent)
(documentation optionHolder EnglishLanguage "(&%optionHolder ?Option ?Agent) means that
?Agent is the holder of the option.")
(=>
(optionHolder ?OPTION ?AGENT)
(property ?OPTION Option))
;; KJN: Edit. Incorrect definition, should be subAttribute
(subrelation optionSeller partyToAgreement)
(instance optionSeller BinaryPredicate)
;;(domain optionSeller 1 Option)
(domain optionSeller 1 Agreement)
(domain optionSeller 2 CognitiveAgent)
(documentation optionSeller EnglishLanguage "(&%optionSeller ?Option ?Agent) means that
?Agent is the writer of the option.")
(=>
(optionSeller ?OPTION ?AGENT)
(property ?OPTION Option))
(instance strikePrice BinaryPredicate)
(domain strikePrice 1 FinancialInstrument)
(domain strikePrice 2 CurrencyMeasure)
(documentation strikePrice EnglishLanguage "The specified price on an option contract at
which the contract may be exercised, whereby a call option buyer can buy
the underlier or a put option buyer can sell the underlier.")
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass CallOption Option)
(subAttribute CallOption Option)
(documentation CallOption EnglishLanguage "An option contract that gives the holder the
right to buy a certain quantity (usually 100 shares) of an underlying
security from the writer of the option, at a specified price (the strike
price) up to a specified date (the expiration date).")
(=>
(and
(property ?Option Option)
(optionHolder ?Option ?Agent)
(strikePrice ?Option ?Price)
(agreementExpirationDate ?Option ?ExpDate)
(underlier ?Option ?Stocks)
(price ?Stocks ?Price ?Time)
(instance ?Time TimeInterval)
(before (EndFn ?Time) (BeginFn ?ExpDate)))
(holdsRight (KappaFn ?Buy
(and
(instance ?Buy Buying)
(patient ?Buy ?Stocks)
(time ?Buy ?Time)
(measure ?Stocks (MeasureFn 100 ShareUnit))
(agent ?Buy ?Agent))) ?Agent))
(=>
(and
(property ?Option Option)
(optionSeller ?Option ?Seller)
(strikePrice ?Option ?Price)
(agreementExpirationDate ?Option ?ExpDate)
(underlier ?Option ?Stocks)
(price ?Stocks ?Price ?Time)
(instance ?Time TimeInterval)
(before (EndFn ?Time) (BeginFn ?ExpDate)))
(holdsObligation (KappaFn ?Sell
(and
(instance ?Sell Selling)
(patient ?Sell ?Stocks)
(time ?Sell ?Time)
(measure ?Stocks (MeasureFn 100 ShareUnit))
(agent ?Sell ?Agent))) ?Seller))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass PutOption Option)
(subAttribute PutOption Option)
(documentation PutOption EnglishLanguage "An option contract that gives the holder the
right to sell a certain quantity of an underlying security to the writer
of the option, at a specified price (strike price) up to a specified date
(expiration date).")
(=>
(and
(property ?Option Option)
(optionHolder ?Option ?Agent)
(strikePrice ?Option ?Price)
(agreementExpirationDate ?Option ?ExpDate)
(price ?Stocks ?Price ?Time)
(instance ?Time TimeInterval)
(before (EndFn ?Time) (BeginFn ?ExpDate))
(underlier ?Option ?Stocks))
(holdsRight (KappaFn ?Sell
(and
(instance ?Sell Selling)
(patient ?Sell ?Stocks)
(time ?Sell ?Time)
(measure ?Stocks (MeasureFn 100 ShareUnit))
(agent ?Sell ?Agent))) ?Agent))
(=>
(and
(property ?Option Option)
(optionSeller ?Option ?Agent)
(strikePrice ?Option ?Price)
(agreementExpirationDate ?Option ?ExpDate)
(price ?Stocks ?Price ?Time)
(instance ?Time TimeInterval)
(before (EndFn ?Time) (BeginFn ?ExpDate))
(underlier ?Option ?Stocks))
(holdsObligation (KappaFn ?Buy
(and
(instance ?Buy Buying)
(patient ?Buy ?Stocks)
(time ?Buy ?Time)
(measure ?Stocks (MeasureFn 100 ShareUnit))
(agent ?Buy ?Agent))) ?Agent))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass StockOption Option)
(subAttribute StockOption Option)
(documentation StockOption EnglishLanguage "An option in which the underlier is the
common stock of a corporation, giving the holder the right to buy or
sell its stock, at a specified price, by a specific date.")
(=>
(and
(property ?Option StockOption)
(underlier ?Option ?Stock))
(property ?Stock CommonStock))
;; KJN: Edit. Incorrect definition, should be subAttribute
(instance premium BinaryPredicate)
;;(domain premium 1 Option)
(domain premium 1 Agreement)
(domain premium 2 CurrencyMeasure)
(documentation premium EnglishLanguage "Total price of an option.")
(=>
(premium ?OPTION ?AMT)
(property ?OPTION Option))
(=>
(and
(premium ?Option ?Premium)
(optionHolder ?Option ?Agent))
(potentialLoss ?Agent ?Option ?Premium))
;; KJN: Edit. Incorrect definition, should be subAttribute
(instance underlier BinaryPredicate)
;;(domain underlier 1 Option)
(domain underlier 1 Agreement)
(domain underlier 2 FinancialInstrument)
(documentation underlier EnglishLanguage "(&%underlier ?Option ?Instrument) means that
?Instrument is a security which is subject to delivery upon exercise of
?Option.")
(=>
(underlier ?OPTION ?FI)
(property ?OPTION Option))
(subclass ExerciseAnOption FinancialTransaction)
(documentation ExerciseAnOption EnglishLanguage "An activity when the owner of the the &%Option
contract invokes his rights. In the case of a call, the option owner buys the
underlying stock. In the case of a put, the option owner sells the underlying stock.")
(=>
(and
(instance ?Exercise ExerciseAnOption)
(patient ?Exercise ?Option)
(property ?Option CallOption)
(time ?Exercise ?Time)
(underlier ?Option ?Stocks))
(exists (?Buy)
(and
(instance ?Buy Buying)
(patient ?Buy ?Stocks)
(time ?Buy ?Time)
(measure ?Stocks (MeasureFn 100 ShareUnit)))))
(=>
(and
(instance ?Exercise ExerciseAnOption)
(patient ?Exercise ?Option)
(property ?Option PutOption)
(time ?Exercise ?Time)
(underlier ?Option ?Stocks))
(exists (?Sell)
(and
(instance ?Sell Selling)
(patient ?Sell ?Stocks)
(time ?Sell ?Time)
(measure ?Stocks (MeasureFn 100 ShareUnit)))))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(instance AmericanStyleOption Option)
(subAttribute AmericanStyleOption Option)
(documentation AmericanStyleOption EnglishLanguage "An option that can be exercised at any time
prior to its expiration date")
(=>
(and
(property ?Option AmericanStyleOption)
(optionHolder ?Option ?Agent)
(agreementExpirationDate ?Option ?Day))
(holdsRight
(exists (?Exercise)
(and
(instance ?Exercise ExerciseAnOption)
(patient ?Exercise ?Option)
(before
(EndFn (WhenFn ?Exercise))
(EndFn ?Day)))) ?Agent))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(instance EuropeanStyleOption Option)
(subAttribute EuropeanStyleOption Option)
(documentation EuropeanStyleOption EnglishLanguage "An option that can be exercised only during
a specified period of time just prior to its expiration.")
(=>
(and
(property ?Option EuropeanStyleOption)
(agreementExpirationDate ?Option ?Date))
(exists (?Period ?Time)
(and
(instance ?Period TimeInterval)
(finishes ?Period ?Date)
(=>
(and
(instance ?Exercise ExerciseAnOption)
(equal (WhenFn ?Exercise) ?Time))
(temporalPart ?Time ?Period)))))
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass EquityOption Option)
(subAttribute EquityOption Option)
(documentation EquityOption EnglishLanguage "An option on shares of an individual common stock.")
;; Types of Orders
(subclass FillingAnOrder FinancialTransaction)
(documentation FillingAnOrder EnglishLanguage "Execute an order or buy or sell a security
or commodity.")
(subclass CancellingAnOrder FinancialTransaction)
(=>
(and
(instance ?Kill CancellingAnOrder)
(patient ?Kill ?Order))
(holdsDuring
(ImmediateFutureFn (WhenFn ?Kill))
(not
(attribute ?Order ActiveAgreement))))
(subclass IOCOrder FinancialOrder)
(documentation IOCOrder EnglishLanguage "Immediate or cancel Order is a type of option order
which gives the trading crowd one opportunity to take the other side of the
trade. After being announced, the order will be either partially or totally
filled with any remaining balance immediately cancelled. An IOC order, which
can be considered a type of day order, cannot be used as part of a GTC order
since it will be cancelled shortly after being entered. The difference between
fill-or-kill (FOK) orders and IOC orders is that a IOC order may be partially
executed.")
(=>
(and
(instance ?Order IOCOrder)
(agreementPeriod ?Order ?Period))
(or
(exists (?Fill ?Time1)
(and
(instance ?Fill FillingAnOrder)
(patient ?Fill ?Order)
(equal (WhenFn ?Fill) ?Time1)
(starts ?Time1 ?Period)))
(exists (?Kill ?Time2)
(and
(instance ?Kill CancellingAnOrder)
(patient ?Kill ?Order)
(equal (WhenFn ?Kill) ?Time2)
(starts ?Time2 ?Period)))))
(subclass FOKOrder FinancialOrder)
(documentation FOKOrder EnglishLanguage "Fill-or-kill order is a type of option order
which requires that the order be executed completely or not at all. A
fill-or-kill order is similar to an all-or-none (AON) order. The
difference is that if the order cannot be completely executed (i.e.,
filled in its entirety) as soon as it is announced in the trading crowd,
it is to be 'killed' (i.e., cancelled) immediately. Unlike an AON order,
a FOK order cannot be used as part of a GTC order.")
(=>
(and
(instance ?Order FOKOrder)
(agreementPeriod ?Order ?Period))
(or
(exists (?Fill ?Time1)
(and
(instance ?Fill FillingAnOrder)
(patient ?Fill ?Order)
(equal (WhenFn ?Fill) ?Time1)
(starts ?Time1 ?Period)))
(exists (?Kill ?Time2)
(and
(instance ?Kill CancellingAnOrder)
(patient ?Kill ?Order)
(equal (WhenFn ?Kill) ?Time2)
(starts ?Time2 ?Period)))))
(subclass AONOrder FinancialOrder)
(documentation AONOrder EnglishLanguage "All-or-none order (AON) is a type of option order
which requires that the order be executed completely or not at all. An AON
order may be either a day order or a GTC order.")
(=>
(instance ?Order AONOrder)
(or
(instance ?Order DayOrder)
(instance ?Order GTCOrder)))
(subclass GTCOrder FinancialOrder)
(documentation GTCOrder EnglishLanguage "Good-'til-cancelled (GTC) order is a type of limit order
that remains in effect until it is either executed (filled) or cancelled, as opposed
to a day order, which expires if not executed by the end of the trading day. A GTC
option order is an order which if not executed will be automatically cancelled at the
option's expiration")
(=>
(and
(instance ?Order GTCOrder)
(agreementPeriod ?Order ?Period))
(or
(exists (?Execute)
(and
(instance ?Execute FillingAnOrder)
(patient ?Execute ?Order)
(equal (WhenFn ?Execute) ?Time)
(overlapsTemporally ?Time ?Period)))
(exists (?Cancel)
(and
(instance ?Cancel CancellingAnOrder)
(patient ?Cancel ?Order)
(equal (WhenFn ?Cancel) ?End)
(finishes ?End ?Period)))))
(subclass DayOrder FinancialOrder)
(documentation DayOrder EnglishLanguage "A type of option order which instructs the &%Broker
to cancel any unfilled portion of the order at the close of trading on the
day the order is first entered.")
(=>
(instance ?Order DayOrder)
(and
(agreementPeriod ?Order ?Period)
(duration ?Period (MeasureFn 1 DayDuration))))
(subclass MNHOrder FinancialOrder)
(documentation MNHOrder EnglishLanguage "A Market-not-held order is a type of market order
which allows the investor to give discretion to the floor &%Broker regarding
the price and/or time at which a trade is executed.")
(subclass MOCOrder FinancialOrder)
(documentation MOCOrder EnglishLanguage "A Market-on-close order is a type of option order
which requires that an order be executed at or near the close of trading on
the day the order is entered. A MOC order, which can be considered a type of
day order, cannot be used as part of a GTC order")
(=>
(instance ?Order MOCOrder)
(instance ?Order DayOrder))
(subclass NHOrder FinancialOrder)
(documentation NHOrder EnglishLanguage "A not-held order is a type of order which releases
normal obligations implied by the other terms of the order. For example, a
limit order designated as 'not-held' allows discretion to the floor trader in
filling the order when the market trades at the limit price of the order. In
this case, there is no obligation to provide the customer with an execution if
the market trades through the limit price on the order.")
(subclass OCOOrder FinancialOrder)
(documentation OCOOrder EnglishLanguage "One-cancels-other order (OCO) is a type of option
order which treats two or more option orders as a package, whereby the execution
of any one of the orders causes all the orders to be reduced by the same amount.
For example, the investor would enter an OCO order if he/she wished to buy
10 May 60 calls or 10 June 60 calls or any combination of the two which when
summed equaled 10 contracts. An OCO order may be either a day order or a GTC order")
(=>
(instance ?Order OCOOrder)
(or
(instance ?Order DayOrder)
(instance ?Order GTCOrder)))
(subclass Bullish InvestmentAttribute)
(documentation Bullish EnglishLanguage "An attribute describing the opinion that a stock, or the
market in general, will rise in price -- a positive or optimistic outlook.")
(subclass Bearish InvestmentAttribute)
(documentation Bearish EnglishLanguage "An adjective describing the opinion that a stock, or
a market in general, will decline in price -- a negative or pessimistic outlook.")
(subclass IndexOption Option)
(documentation IndexOption EnglishLanguage "An option whose underlying interest is an index.
Generally, index options are cash-settled.")
(instance inTheMoney BinaryPredicate)
(domain inTheMoney 1 Option)
(domain inTheMoney 2 TimePosition)
(documentation inTheMoney EnglishLanguage "A call option is in the money if the stock
price is above the strike price. A put option is in the money if the
stock price is below the strike price.")
(<=>
(exists (?Stock ?StockPrice ?StrikePrice)
(and
(instance ?Option CallOption)
(underlier ?Option ?Stock)
(price ?Stock ?StockPrice ?Time)
(strikePrice ?Option ?StrikePrice)
(lessThan ?StrikePrice ?StockPrice)))
(inTheMoney ?Option ?Time))
(<=>
(exists (?Stock ?StockPrice ?StrikePrice)
(and
(instance ?Option PutOption)
(underlier ?Option ?Stock)
(price ?Stock ?StockPrice ?Time)
(strikePrice ?Option ?StrikePrice)
(lessThan ?StockPrice ?StrikePrice)))
(inTheMoney ?Option ?Time))
(instance atTheMoney BinaryPredicate)
(domain atTheMoney 1 Option)
(domain atTheMoney 2 TimePosition)
(documentation atTheMoney EnglishLanguage "A term that describes an option with a strike
price that is equal to the current market price of the underlying stock.")
(<=>
(exists (?Stock ?StockPrice ?StrikePrice)
(and
(instance ?Option Option)
(underlier ?Option ?Stock)
(price ?Stock ?StockPrice ?Time)
(strikePrice ?Option ?StrikePrice)
(equal ?StockPrice ?StrikePrice)))
(atTheMoney ?Option ?Time))
(instance outOfTheMoney BinaryPredicate)
(domain outOfTheMoney 1 Option)
(domain outOfTheMoney 2 TimePosition)
(documentation outOfTheMoney EnglishLanguage "A call option is out of the money if the
stock price is below its strike price. A put option is out of the money
if the stock price is above its strike price.")
(<=>
(exists (?Stock ?StockPrice ?StrikePrice)
(and
(instance ?Option CallOption)
(underlier ?Option ?Stock)
(price ?Stock ?StockPrice ?Time)
(strikePrice ?Option ?StrikePrice)
(lessThan ?StockPrice ?StrikePrice)))
(outOfTheMoney ?Option ?Time))
(<=>
(exists (?Stock ?StockPrice ?StrikePrice)
(and
(instance ?Option PutOption)
(underlier ?Option ?Stock)
(price ?Stock ?StockPrice ?Time)
(strikePrice ?Option ?StrikePrice)
(lessThan ?StrikePrice ?StockPrice)))
(outOfTheMoney ?Option ?Time))
;; strategies
(subclass OptionStrategy FinancialTransaction)
(documentation OptionStrategy EnglishLanguage "A collection of buying/selling options
whose purpose is to result in an optimal profit for the investor.")
(subclass SingleOption OptionStrategy)
(documentation SingleOption EnglishLanguage "A put or call option by itself, as opposed to
multiple options as used in a spread or straddle.")
(=>
(instance ?Strategy SingleOption)
(equal (CardinalityFn (KappaFn ?Option (patient ?Strategy ?Option))) 1))
(subclass SpreadOption OptionStrategy)
(documentation SpreadOption EnglishLanguage "The purchase of one option and the
simultaneous sale of a related option, such as two options of the same
class but different strike prices and/or expiration dates.")
(=>
(instance ?Spread SpreadOption)
(exists (?Option1 ?Option2 ?Buy ?Sell ?Time)
(and
(instance ?Option1 Option)
(instance ?Option2 Option)
(instance ?Buy Buying)
(instance ?Sell Selling)
(patient ?Buy ?Option1)
(patient ?Sell ?Option2)
(time ?Buy ?Time)
(time ?Sell ?Time))))
(subclass ButterflySpread SpreadOption)
(documentation ButterflySpread EnglishLanguage "A complex option strategy that involves
selling two calls and buying two calls on the same or different markets,
with several maturity dates. One of the options has a higher exercise
price and the other has a lower exercise price than the other two options.
The payoff diagram resembles the shape of a butterfly.")
(=>
(instance ?Spread ButterflySpread)
(exists (?Call1 ?Call2 ?Call3 ?Call4 ?Price1 ?Price2 ?Price3 ?Price4)
(and
(instance ?Call1 CallOption)
(instance ?Call2 CallOption)
(instance ?Call3 CallOption)
(instance ?Call4 CallOption)
(strikePrice ?Call1 ?Price1)
(strikePrice ?Call2 ?Price2)
(strikePrice ?Call3 ?Price3)
(strikePrice ?Call4 ?Price4)
(lessThan ?Price1 ?Price2)
(lessThan ?Price1 ?Price3)
(greaterThan ?Price4 ?Price2)
(greaterThan ?Price4 ?Price2))))
(subclass Straddle OptionStrategy)
(documentation Straddle EnglishLanguage "The purchase or sale of an equal number of puts and
calls, with the same strike price and expiration dates.")
(=>
(instance ?Straddle Straddle)
(exists (?Price ?Date ?Number)
(and
(equal
(CardinalityFn
(KappaFn ?Call
(and
(instance ?Call CallOption)
(part ?Call ?Straddle))))
?Number)
(equal
(CardinalityFn (KappaFn ?Put
(and
(instance ?Put PutOption)
(part ?Put ?Straddle))))
?Number)
(forall (?Option)
(=>
(and
(instance ?Option Option)
(part ?Option ?Straddle))
(and
(agreementExpirationDate ?Option ?Date)
(strikePrice ?Option ?Price)))))))
(subclass LongStraddle Straddle)
(documentation LongStraddle EnglishLanguage "A straddle in which a long position is taken in
both a put and a call option")
(subclass ShortSale FinancialTransaction)
(documentation ShortSale EnglishLanguage "Borrowing a security (or commodity futures
contract) from a &%Broker and selling it, with the understanding that it
must later be bought back (hopefully at a lower price) and returned to the
broker. SEC rules allow investors to sell short only on an uptick or a
zero-plus tick, to prevent 'pool operators' from driving down a stock
price through heavy short-selling, then buying the shares for a large
profit.")
(subclass BorrowedStock Stock)
(documentation BorrowedStock EnglishLanguage "Stock in a short sale.")
(subclass StockMarketTransaction FinancialTransaction)
(documentation StockMarketTransaction EnglishLanguage "Any &%FinancialTransaction which involves
&%Stock and which occurs in a &%StockMarket.")
(=>
(instance ?Transaction StockMarketTransaction)
(exists (?Market)
(and
(instance ?Market StockMarket)
(eventLocated ?Transaction ?Market))))
(=>
(and
(instance ?Transaction StockMarketTransaction)
(patient ?Transaction ?Stock))
(instance ?Stock Stock))
(subclass Uptick StockMarketTransaction)
(documentation Uptick EnglishLanguage "A stock market transaction (or sometimes, a quote)
at a price higher than the preceding one for the same security.")
(=>
(and
(instance ?Uptick Uptick)
(patient ?Uptick ?Stock)
(equal (WhenFn ?Uptick) ?Time1)
(price ?Stock ?Price1 ?Time1))
(exists (?Transaction ?Time2)
(and
(instance ?Transaction StockMarketTransaction)
(patient ?Transaction ?Stock)
(equal (WhenFn ?Transaction) ?Time2)
(meetsTemporally ?Time2 ?Time1)
(price ?Stock ?Price2 ?Time2)
(lessThan ?Price2 ?Price1))))
(subclass Downtick StockMarketTransaction)
(documentation Downtick EnglishLanguage "A stock market transaction (or sometimes, a quote)
at a price lower than the preceding one for the same security.")
(=>
(and
(instance ?Downtick Downtick)
(patient ?Downtick ?Stock)
(equal (WhenFn ?Downtick) ?Time1)
(price ?Stock ?Price1 ?Time1))
(exists (?Transaction ?Time2)
(and
(instance ?Transaction StockMarketTransaction)
(patient ?Transaction ?Stock)
(equal (WhenFn ?Transaction) ?Time2)
(meetsTemporally ?Time2 ?Time1)
(price ?Stock ?Price2 ?Time2)
(greaterThan ?Price2 ?Price1))))
;; Income, employment, compensations
;; KJN: Edit. Incorrect definition, should be subAttribute
;;(subclass Employment ServiceContract)
(subAttribute Employment ServiceContract)
;;(subclass Employment FinancialContract)
(subAttribute Employment FinancialContract)
(<=>
(employs ?Org ?Agent)
(exists (?Employment)
(and
(property ?Employment Employment)
(partyToAgreement ?Employment ?Org)
(partyToAgreement ?Employment ?Agent))))
(instance income TernaryPredicate)
(domain income 1 Human)
(domain income 2 CurrencyMeasure)
(domain income 3 TimeInterval)
(documentation income EnglishLanguage "(&%incomeOf ?Agent ?Money ?Period) means that
?Money is the amount of money or its equivalent received during a period
of time in exchange for labor or services, from the sale of goods or
property, or as profit from financial investments")
(instance monthlyIncome AsymmetricRelation)
(domain monthlyIncome 1 Human)
(domain monthlyIncome 2 CurrencyMeasure)
(documentation monthlyIncome EnglishLanguage "(&%monthlyIncome ?Agent ?Money) means that
?Money is the amount of money received during one month period")
(<=>
(monthlyIncome ?Agent ?Money)
(exists (?Month)
(and
(instance ?Month Month)
(income ?Agent ?Money ?Month))))
(instance incomeEarned TernaryPredicate)
(domain incomeEarned 1 Human)
(domain incomeEarned 2 CurrencyMeasure)
(domain incomeEarned 3 OrganizationalProcess)
(documentation incomeEarned EnglishLanguage "(&%incomeEarned ?Agent ?Money ?Action) means
that ?Agent earned the amount of money ?Money from performing ?Action. Note
that &%incomeEarned denotes that amount of money made before taxes are
deducted.")
(=>
(incomeEarned ?Agent ?Money ?Activity)
(agent ?Activity ?Agent))
(subrelation taxDeferredIncome incomeEarned)
(domain taxDeferredIncome 1 Human)
(domain taxDeferredIncome 2 CurrencyMeasure)
(domain taxDeferredIncome 3 OrganizationalProcess)
(documentation taxDeferredIncome EnglishLanguage "Income whose taxes can be postponed
until a later date. Examples include IRA, 401(k), Keogh Plan, annuity,
Savings Bond and Employee Stock Ownership Plan.")
(=>
(and
(taxDeferredIncome ?Agent ?Income ?Activity)
(time ?Activity ?Time))
(not
(exists (?Tax)
(and
(instance ?Tax Tax)
(causes ?Activity ?Tax)
(time ?Tax ?Time)))))
(subrelation afterTaxIncome incomeEarned)
(instance afterTaxIncome TernaryPredicate)
(domain afterTaxIncome 1 Human)
(domain afterTaxIncome 2 CurrencyMeasure)
(domain afterTaxIncome 3 OrganizationalProcess)
(documentation afterTaxIncome EnglishLanguage "An amount (usually income) after taxes
have been subtracted.")
(<=>
(exists (?Income ?Tax ?TaxAmount)
(and
(incomeEarned ?Agent ?Income ?Activity)
(amountCharged ?Tax ?TaxAmount)
(causes ?Activity ?Tax)
(equal ?ATIncome (SubtractionFn ?Income ?TaxAmount))))
(afterTaxIncome ?Agent ?Activity ?ATIncome))
(subrelation beforeTaxIncome incomeEarned)
(instance beforeTaxIncome TernaryPredicate)
(domain beforeTaxIncome 1 Human)
(domain beforeTaxIncome 2 CurrencyMeasure)
(domain beforeTaxIncome 3 OrganizationalProcess)
(documentation beforeTaxIncome EnglishLanguage "Income before taxes are deducted")
(instance employeeContribution TernaryPredicate)
(domain employeeContribution 1 Human)
(domain employeeContribution 2 CurrencyMeasure)
(domain employeeContribution 3 TimeInterval)
(documentation employeeContribution EnglishLanguage "An individual's contribution to his/her
own retirement plan, often tax-deferred.")
(=>
(employeeContribution ?Agent ?Money ?Period)
(exists (?Org ?Plan)
(and
(instance ?Plan PensionPlan)
(employs ?Org ?Agent)
(agent ?Plan ?Org)
(destination ?Plan ?Agent))))
(instance compensationPackage TernaryPredicate)
(domain compensationPackage 1 Human)
(domain compensationPackage 2 CurrencyMeasure)
(domain compensationPackage 3 TimePosition)
(documentation compensationPackage EnglishLanguage "The total monetary value an employee
receives during a certain time period.")
(=>
(compensationPackage ?Agent ?Money ?Period)
(exists (?Activity)
(and
(instance ?Activity Working)
(agent ?Activity ?Agent)
(equal ?Period (WhenFn ?Activity))
(incomeEarned ?Agent ?Money ?Activity))))
;; Retirement plans
(subclass IndividualRetirementAccount SavingsAccount)
(subclass IndividualRetirementAccount PersonalAccount)
(subclass IndividualRetirementAccount PensionPlan)
(documentation IndividualRetirementAccount EnglishLanguage "A tax-deferred retirement
account for an individual that permits individuals to set aside up to
$2,000 per year, with earnings tax-deferred until withdrawals begin at age
59 1/2 or later (or earlier, with a 10% penalty). Only those who do not
participate in a pension plan at work or who do participate and meet
certain income guidelines can make deductible contributions to an IRA.
All others can make contributions to an IRA on a non-deductible basis.
Such contributions qualify as a deduction against income earned in that
year and interest accumulates tax-deferred until the funds are withdrawn.")
(subclass RothIRAAccount IndividualRetirementAccount)
(documentation RothIRAAccount EnglishLanguage "An individual retirement account in which a person
can set aside after-tax income up to a specified amount each year. Earnings on the
account are tax-free, and tax-free withdrawals may be made at retirement age.")
(subclass SavingsPlan-401K DefinedContributionPlan)
(documentation SavingsPlan-401K EnglishLanguage "A defined contribution plan offered by a
corporation to its employees, which allows employees to set aside
tax-deferred income for retirement purposes. The name 401(k) comes from
the IRS section describing the program.")
(subclass DefinedContributionPlan PensionPlan)
(documentation DefinedContributionPlan EnglishLanguage "A company retirement plan, such as
a 401(k) or 403(b), in which the employee elects to defer some amount of
his/her salary into the plan and bears the investment risk.")
(subclass SavingsPlan-403B DefinedContributionPlan)
(documentation SavingsPlan-403B EnglishLanguage "A retirement plan similar to a 401(k) plan, but
one which is offered by non-profit organizations, such as universities and
some charitable organizations, rather than corporations.")
(subclass SARSEPPlan DefinedContributionPlan)
(subclass Rollover FinancialTransaction)
(documentation Rollover EnglishLanguage "A tax-free reinvestment of a distribution from a
qualified retirement plan into an IRA or other qualified plan within 60 days.
Also called IRA rollover. Or more generally, a movement of funds from one investment
to another.")
(subclass DirectRollover Rollover)
(documentation DirectRollover EnglishLanguage "A distribution from qualified pension plan, 401(k)
plan, or 403(b) plan, that is remitted directly to the trustee, custodian, or
issuer of the receiving IRA and is reported to the IRS as a rollover. This can only
be done once per year, per account.")
(subclass SavingsPlan-408K PensionPlan)
(documentation SavingsPlan-408K EnglishLanguage "A simpler alternative to a 401(k) plan available
only to companies with 25 or fewer employees, which gives employees the
opportunity to make contributions to their SEP accounts with pre-tax
dollars and reduce their current year's net income.")
(instance accountNumber BinaryPredicate)
(instance accountNumber AsymmetricRelation)
(domain accountNumber 1 FinancialAccount)
(domain accountNumber 2 PositiveInteger)
(instance stockSymbol BinaryPredicate)
(instance stockSymbol AsymmetricRelation)
(domain stockSymbol 1 Stock)
(domain stockSymbol 2 SymbolicString)
(documentation stockSymbol EnglishLanguage "A unique symbol assigned to a security. NYSE and
AMEX listed stocks have symbols of three characters or less. NASDAQ-listed
securities have four or five characters.")
(subclass VisaCard CreditCard)
(subclass MasterCard CreditCard)
(subclass DiscoverCard CreditCard)
(subclass AmericanExpressCard CreditCard)
(instance checkNumber AsymmetricRelation)
(domain checkNumber 1 Check)
(domain checkNumber 2 PositiveInteger)
(instance netAmount BinaryPredicate)
(instance netAmount AsymmetricRelation)
(domain netAmount 1 Investment)
(domain netAmount 2 CurrencyMeasure)
(documentation netAmount EnglishLanguage "The amount due the supplier after commissions
have been deducted.")
(instance BrokerageAccount InvestmentAccount)
(documentation BrokerageAccount EnglishLanguage "A fund that a customer has entrusted to
a securities brokerage.")
(instance closingPrice TernaryPredicate)
(domain closingPrice 1 Stock)
(domain closingPrice 2 CurrencyMeasure)
(domain closingPrice 3 Day)
(documentation closingPrice EnglishLanguage "(&%closingPrice ?Stock ?Amount ?Day) means that the closing
price of the &%Stock ?Stock on the &%Day ?Day was ?Amount.")
(subrelation finalPrice monetaryValue)
(domain finalPrice 1 Stock)
(domain finalPrice 2 CurrencyMeasure)
(=>
(instance ?Cash Currency)
(exists (?Value)
(monetaryValue ?Cash ?Value)))
(instance riskTolerance BinaryPredicate)
(instance riskTolerance AsymmetricRelation)
(domain riskTolerance 1 Investor)
(domain riskTolerance 2 RiskAttribute)
(=>
(and
(riskTolerance ?Agent ?Level)
(instance ?Investment Investment)
(possesses ?Agent ?Investment))
(riskLevel ?Investment ?Level))
(instance cardCode BinaryPredicate)
(subrelation cardCode represents)
(domain cardCode 1 ContentBearingObject)
(domain cardCode 2 BankCard)
(documentation cardCode EnglishLanguage "(&%cardCode ?Code ?Card) means that ?Code represents
the account number of the BankCard ?Card.")
(=>
(and
(cardCode ?Code ?Card)
(cardAccount ?Card ?Account))
(exists (?Encoding)
(and
(instance ?Encoding Encoding)
(patient ?Encoding ?Account))))
(subclass ValidCard BankCard)
(documentation ValidCard EnglishLanguage "A class of valid BankCards")
(=>
(and
(instance ?Authorization AuthorizationOfTransaction)
(instance ?Transaction FinancialTransaction)
(instance ?Card BankCard)
(instrument ?Transaction ?Card)
(causes ?Authorization ?Transaction))
(instance ?Card ValidCard))
(subclass ExpiredCard BankCard)
(disjoint ExpiredCard ValidCard)
(documentation ExpiredCard EnglishLanguage "A class of expired BankCards.")
(=>
(and
(holdsDuring ?Time (instance ?Card ExpiredCard))
(cardAccount ?Card ?Account))
(holdsDuring ?Time
(not (attribute ?Card ActiveAgreement))))
(instance pin BinaryPredicate)
(subrelation pin represents)
(domain pin 1 SymbolicString)
(domain pin 2 BankCard)
(documentation pin EnglishLanguage "(&%pin ?PIN ?Card) means that ?PIN is a personal identification
number linked to the ?Card.")
(=>
(and
(instance ?Card DebitCard)
(possesses ?Agent ?Card)
(instance ?Transaction FinancialTransaction)
(instrument ?Transaction ?Card))
(exists (?PIN ?Enter)
(and
(pin ?PIN ?Card)
(instance ?Enter EnteringAPin)
(patient ?Enter ?PIN)
(agent ?Enter ?Agent))))
(subclass EnteringAPin AuthorizationOfTransaction)
(subclass EnteringAPin ContentDevelopment)
(documentation EnteringAPin EnglishLanguage "A subclass of &%AuthorizationOfTransaction where
a customer enters his/her personal identification number.")
(=>
(instance ?Enter EnteringAPin)
(exists (?Pin ?Card)
(and
(pin ?Pin ?Card)
(patient ?Enter ?Pin))))
(subclass VerifyingCardCode AuthorizationOfTransaction)
(documentation VerifyingCardCode EnglishLanguage "A subclass of &%AuthorizationOfTransaction
where an ATM machine checks the code of the BankCard inserted to this machine.")
(=>
(and
(instance ?Check VerifyingCardCode)
(patient ?Check ?Code)
(cardCode ?Code ?Card))
(exists (?Decode)
(and
(instance ?Decode Decoding)
(subProcess ?Decode ?Check)
(patient ?Decode ?Code))))
(subclass ATMMachine StationaryArtifact)
(documentation ATMMachine EnglishLanguage "(Automatic Teller Machine) A banking terminal that
accepts deposits and dispenses cash. ATMs are activated by inserting a cash or
credit card that contains the user's account number and PIN on a magnetic stripe.
The ATM calls up the bank's computers to verify the balance, dispenses the cash
and then transmits a completed transaction notice.")
(=>
(and
(instance ?Service CommercialService)
(agent ?Service ?Agent)
(employs ?Org ?Agent)
(destination ?Service ?Customer))
(hasPurpose ?Service
(exists (?Transaction)
(and
(instance ?Transaction FinancialTransaction)
(destination ?Transaction ?Org)
(origin ?Transaction ?Customer)))))
;; KJN: Moving this to Mid-level-ontology.kif as it seems to be a more general concept.
;;(instance customer IrreflexiveRelation)
;;(instance customer BinaryPredicate)
;;(instance customer AsymmetricRelation)
;;(domain customer 1 CognitiveAgent)
;;(domain customer 2 CognitiveAgent)
;;(documentation customer EnglishLanguage "A very general relation that exists whenever there
;;is a &%FinancialTransaction between the two &%Agents such that the first is
;;the &%destination of the &%FinancialTransaction and the second is the
;;&%agent.")
;;(<=>
;; (customer ?Agent1 ?Agent2)
;; (exists (?Service)
;; (and
;; (instance ?Service FinancialTransaction)
;; (agent ?Service ?Agent2)
;; (destination ?Service ?Agent1))))
(=>
(and
(accountHolder ?Account ?Agent)
(accountAt ?Account ?Bank))
(customer ?Agent ?Bank))
(instance customerRepresentative TernaryPredicate)
(domain customerRepresentative 1 CognitiveAgent)
(domain customerRepresentative 2 CognitiveAgent)
(domain customerRepresentative 3 Organization)
(documentation customerRepresentative EnglishLanguage "(&%customerRepresentative
?PERSON1 ?PERSON2 ?ORG) means that ?PERSON1 acts as a representative
of &%Organization ?ORG in a &%SocialInteraction involving ?PERSON2.")
(<=>
(customerRepresentative ?Person1 ?Person2 ?Org)
(exists (?Service)
(and
(instance ?Service FinancialTransaction)
(employs ?Org ?Person1)
(agent ?Service ?Person1)
(destination ?Service ?Person2))))
(instance Manager Position)
(documentation Manager EnglishLanguage "One who directs a business or other enterprise.")
;; KJN: Imported from Mid-level-ontology.kif to remove dependencies
(instance Banker SkilledOccupation)
(documentation Banker EnglishLanguage "Any &%SkilledOccupation which involves working in a
&%Bank-FinancialOrganization.")
(=>
(and
(instance ?H Human)
(occupiesPosition ?H ?B ?O)
(attribute ?B Banker))
(instance ?O Bank-FinancialOrganization))
(subclass ATMSlot Hole)
(documentation ATMSlot EnglishLanguage "A narrow opening in an ATM machine where cards are inserted.")
(=>
(instance ?Slot ATMSlot)
(exists (?ATM)
(and
(instance ?ATM ATMMachine)
(hole ?Slot ?ATM))))
(=>
(instance ?Slot ATMSlot)
(exists (?Insert ?Card)
(and
(instance ?Insert Putting)
(patient ?Insert ?Card)
(instance ?Card BankCard)
(destination ?Insert ?Slot))))
(instance phoneNumber BinaryPredicate)
(subrelation phoneNumber refers)
(domain phoneNumber 1 SymbolicString)
(domain phoneNumber 2 Telephone)
(documentation phoneNumber EnglishLanguage "(&%phoneNumber ?Phone ?Agent) holds if ?Phone is
a phone number corresponding to the Telephone ?Phone.")
(instance dayPhone BinaryPredicate)
(domain dayPhone 1 SymbolicString)
(domain dayPhone 2 Agent)
(documentation dayPhone EnglishLanguage "(&%dayPhone ?Phone ?Agent) means that ?Phone is a phone
number corresponding to the location where ?Agent can be reached during the day.")
(=>
(and
(dayPhone ?Number ?Agent)
(instance ?Day Day))
(exists (?Phone)
(and
(phoneNumber ?Number ?Phone)
(holdsDuring (HourFn ?Number ?Day) (possesses ?Agent ?Phone))
(lessThan ?Number 18))))
(instance eveningPhone BinaryPredicate)
(domain eveningPhone 1 SymbolicString)
(domain eveningPhone 2 Agent)
(documentation eveningPhone EnglishLanguage "(&%eveningPhone ?Phone ?Agent) means that ?Phone
is a phone number corresponidng to the location where ?Agent can be reached
during the evening.")
(=>
(and
(eveningPhone ?Number ?Agent)
(instance ?Day Day))
(exists (?Phone)
(and
(phoneNumber ?Number ?Phone)
(holdsDuring (HourFn ?Number ?Day) (possesses ?Agent ?Phone))
(greaterThan ?Number 18))))
;; KJN: already defined in Mid-level-ontology.kif
;;(instance emailAddress BinaryPredicate)
;;(subrelation emailAddress refers)
;;(domain emailAddress 1 SymbolicString)
;;(domain emailAddress 2 Agent)
;;(documentation emailAddress EnglishLanguage "(&%emailAddress ?Address ?Agent) means that ?Address is
;;an electronic address of the location where ?Agent can be reached.")
;;KJN: Moving this to Mid-level-ontology.kif
;;(subclass Fax Communication)
;;(documentation Fax EnglishLanguage "The communication of a printed page between remote locations.")
;;(=>
;; (instance ?Fax Fax)
;; (exists (?FaxMachine)
;; (and
;; (instance ?FaxMachine FaxMachine)
;; (instrument ?Fax ?FaxMachine))))
;;(subclass FaxMachine Device)
;;(documentation FaxMachine EnglishLanguage "Fax machines scan a paper form and transmit a coded
;;image over the telephone system. The receiving machine prints a facsimile of
;;the original. A fax machine is made up of a scanner, printer and modem with
;;fax signaling.")
;; KJN: Moved in from Mid-level-ontology.kif.
(documentation financialAccount EnglishLanguage "A formal banking, brokerage, or business
relationship established to provide for regular services, dealings, and
other financial transactions. (&%financialAccount ?ACCOUNT ?ORG) means that
?ACCOUNT is a financial account opened at the &%FinancialCompany
?ORG.")
(domain financialAccount 1 FinancialAccount)
(domain financialAccount 2 FinancialCompany)
(instance financialAccount BinaryPredicate)
(subrelation financialAccount partyToAgreement)
(subrelation availableBalance currentAccountBalance)
(domain availableBalance 1 FinancialAccount)
(domain availableBalance 2 Day)
(domain availableBalance 3 CurrencyMeasure)
(instance availableBalance TernaryPredicate)
(documentation availableBalance EnglishLanguage "(&%availableBalance ?Account ?Day ?Amount) means
that ?Amount is the balance which is available for withdrawal from the &%FinancialAccount
?Account.")
(=>
(and
(instance ?Transaction FinancialTransaction)
(origin ?Transaction ?Account)
(transactionAmount ?Transaction ?Amount)
(date ?Transaction ?Day))
(exists (?Amount2)
(and
(availableBalance ?Account ?Day ?Amount2)
(greaterThanOrEqualTo ?Amount1 ?Amount2))))
(subrelation availableCash availableBalance)
(domain availableCash 1 FinancialAccount)
(domain availableCash 2 Day)
(domain availableCash 3 CurrencyMeasure)
(instance availableCash TernaryPredicate)
(documentation availableCash EnglishLanguage "(&%availableCash ?Account ?Day ?Cash) holds if
?Cash is a cash amount available for withdrawal from the &%FinancialAccount
?Account.")
(=>
(and
(instance ?Transaction FinancialTransaction)
(origin ?Transaction (CurrencyFn ?Account))
(transactionAmount ?Transaction ?Amount)
(instance ?Cash Currency)
(patient ?Transaction ?Cash)
(date ?Transaction ?Day))
(exists (?Amount2)
(and
(availableCash ?Account ?Day ?Amount2)
(greaterThanOrEqualTo ?Amount1 ?Amount2))))
(instance paymentsPerPeriod TernaryPredicate)
(domain paymentsPerPeriod 1 FinancialAccount)
(domain paymentsPerPeriod 2 CurrencyMeasure)
(domain paymentsPerPeriod 3 TimeInterval)
(documentation paymentsPerPeriod EnglishLanguage "(&%paymentsPerPeriod ?Account ?Amount ?Period)
holds if ?Amount is the amount paid on the FinancialAccount ?Account during the
time period ?Period.")
(instance purchasesPerPeriod TernaryPredicate)
(domain purchasesPerPeriod 1 FinancialAccount)
(domain purchasesPerPeriod 2 CurrencyMeasure)
(domain purchasesPerPeriod 3 TimeInterval)
(documentation purchasesPerPeriod EnglishLanguage "(&%purchasesPerPeriod ?Account ?Amount ?Period)
holds if ?Amount is the amount of purchases added to the FinancialAccount ?Account
during the time period ?Period.")
(instance creditsPerPeriod TernaryPredicate)
(domain creditsPerPeriod 1 FinancialAccount)
(domain creditsPerPeriod 2 CurrencyMeasure)
(domain creditsPerPeriod 3 TimeInterval)
(documentation creditsPerPeriod EnglishLanguage "(&%creditsPerPeriod ?Account ?Amount ?Period)
holds if ?Amount is the amount credited to the FinancialAccount ?Account during
the time period ?Period.")
(instance confirmationNumber BinaryPredicate)
(instance confirmationNumber AsymmetricRelation)
(domain confirmationNumber 1 FinancialTransaction)
(domain confirmationNumber 2 SymbolicString)
(subclass BankStatement Proposition)
(documentation BankStatement EnglishLanguage "A monthly report sent to a debtor or bank depositor.")
(=>
(and
(instance ?Statement BankStatement)
(statementAccount ?Statement ?Account))
(exists (?Transaction)
(and
(instance ?Transaction FinancialTransaction)
(or
(origin ?Transaction (CurrencyFn ?Account))
(destination ?Transaction (CurrencyFn ?Account)))
(realization ?Statement ?Transaction))))
(instance lastStatement BinaryPredicate)
(domain lastStatement 1 FinancialAccount)
(domain lastStatement 2 BankStatement)
(documentation lastStatement EnglishLanguage "(&%lastStatement ?Account ?Statement) means that
?Statement is the most recent monthly report sent to a debtor or bank depositor.")
(=>
(lastStatement ?ACCT ?STATEMENT)
(instance ?ACCT FinancialAccount))
(=>
(and
(lastStatement ?Account ?Statement)
(instance ?Transaction1 FinancialTransaction)
(realization ?Statement ?Transaction1)
(instance ?Transaction2 FinancialTransaction)
(not (realization ?Statement ?Transaction2)))
(earlier (WhenFn ?Transaction2) (WhenFn ?Transaction1)))
(instance loanInterest BinaryPredicate)
(domain loanInterest 1 Loan)
(domain loanInterest 2 CurrencyMeasure)
(<=>
(exists (?Period)
(and
(instance ?Loan Loan)
(agreementPeriod ?Loan ?Period)
(interestEarned ?Loan ?Amount ?Period)))
(loanInterest ?Loan ?Amount))
(subclass Title FinancialInstrument)
(documentation Title EnglishLanguage "The instrument, such as a deed, that constitutes evidence
of a legal right of possession or control.")
(=>
(instance ?Title Title)
(exists (?Property ?Agent)
(containsInformation ?Title (possesses ?Agent ?Property))))
(instance bankAccount BinaryPredicate)
(instance bankAccount AsymmetricRelation)
(domainSubclass bankAccount 1 FinancialAccount)
(domain bankAccount 2 Bank-FinancialOrganization)
(documentation bankAccount EnglishLanguage "(&%bankAccount ?Type ?Bank) holds if ?Type is a
type of the financial accounts offered by the bank.")
(<=>
(bankAccount ?AccountType ?Bank)
(exists (?Account)
(and
(instance ?Account ?AccountType)
(accountAt ?Account ?Bank))))
(subclass ServiceAttribute RelationalAttribute)
(documentation ServiceAttribute EnglishLanguage "The class of attributes which describe
&%CommercialServices, such as &%OpenService and &%ClosedService.")
(instance OpenService ServiceAttribute)
(contraryAttribute OpenService ClosedService)
(documentation OpenService EnglishLanguage "The attribute which describes services that
are ready to transact business.")
(=>
(and
(instance ?Transaction FinancialTransaction)
(destination ?Transaction ?Agent))
(and
(instance ?Service CommercialService)
(agent ?Service ?Agent)
(attribute ?Service OpenService)))
(instance ClosedService ServiceAttribute)
(documentation ClosedService EnglishLanguage "The attribute which describes services that are
shut or closed.")
(subclass Receipt FinancialInstrument)
(documentation Receipt EnglishLanguage "A written acknowledgment that a specified article,
sum of money, or shipment of merchandise has been received.")
(subclass FinancialRequest FinancialTransaction)
(documentation FinancialRequest EnglishLanguage "A request for financial data sent in order
to get a &%FinancialResponse.")
(subclass FinancialResponse FinancialTransaction)
(documentation FinancialResponse EnglishLanguage "The response data provided to fulfil a &%FinancialRequest.")
(instance financialResponseTo BinaryPredicate)
(domain financialResponseTo 1 FinancialResponse)
(domain financialResponseTo 2 FinancialRequest)
(documentation financialResponseTo EnglishLanguage "(&%financialResponseTo ?Response ?Request) means that
?Response is a &%FinancialResponse to the &%FinancialRequest ?Request.")
(instance dailyLimit TernaryPredicate)
(domain dailyLimit 1 FinancialAccount)
(domainSubclass dailyLimit 2 FinancialTransaction)
(domain dailyLimit 3 CurrencyMeasure)
(documentation dailyLimit EnglishLanguage "(&%dailyLimit ?Account ?TransactionType ?Amount)
means that ?Amount is the daily limit of the ?Account for the type of
&%FinancialTransactions ?TransactionType.")
;;MSv: I renamed the former StatusAttributes with more specific names to prevent confusion with more general notions (like Locked).
(instance accountStatus BinaryPredicate)
(domain accountStatus 1 FinancialAccount)
(domain accountStatus 2 FinancialAccountStatus)
(documentation accountStatus EnglishLanguage "(&%accountStatus ?Account ?Status) is true if ?Status describes the status of the account, such as &%ActiveAccount, &%LockedAccount, &%NewAccount or &%PendingAccount.")
(subclass FinancialAccountStatus RelationalAttribute)
(documentation FinancialAccountStatus EnglishLanguage "A class of four attributes indicating the status of a financial account, viz. &%ActiveAccount, &%LockedAccount, &%NewAccount or &%PendingAccount.")
(instance NewAccount FinancialAccountStatus)
(instance ActiveAccount FinancialAccountStatus)
(instance LockedAccount FinancialAccountStatus)
(instance PendingAccount FinancialAccountStatus)
;; KJN: Edit. Incorrect usage of Position
(instance administrator BinaryPredicate)
(domain administrator 1 FinancialAccount)
;;(domain administrator 2 Position)
(domain administrator 2 CognitiveAgent)
;; KJN: Edit. Incorrect usage of Position.
(instance administratorStatus BinaryPredicate)
;;(domain administratorStatus 1 Position)
(domain administratorStatus 1 CognitiveAgent)
(domain administratorStatus 2 StatusAttribute)
(documentation administratorStatus EnglishLanguage "(&%administratorStatus ?Administrator ?Status)
holds is ?Status describes the status of the administrator.")
(instance dateOfStatement BinaryPredicate)
(domain dateOfStatement 1 BankStatement)
(domain dateOfStatement 2 Day)
(documentation dateOfStatement EnglishLanguage "(&%dateOfStatement ?Statement ?Date) holds if
?Date is the date when BankStatement was issued.")
(=>
(dateOfStatement ?Statement ?Date)
(exists (?Copy)
(and
(containsInformation ?Copy ?Statement)
(date ?Copy ?Date))))
(instance lastStatementBalance BinaryPredicate)
(domain lastStatementBalance 1 FinancialAccount)
(domain lastStatementBalance 2 CurrencyMeasure)
(documentation lastStatementBalance EnglishLanguage "(&%lastStatementBalance ?Account ?Amount)
holds if ?Amount is the balance shown on the last statement.")
(=>
(lastStatementBalance ?Account ?Balance)
(exists (?Statement)
(and
(lastStatement ?Account ?Statement)
(dateOfStatement ?Statement ?Date)
(currentAccountBalance ?Account ?Date ?Account))))
(instance statementAccount BinaryPredicate)
(domain statementAccount 1 BankStatement)
(domain statementAccount 2 FinancialAccount)
(documentation statementAccount EnglishLanguage "(&%statementAccount ?Statement ?Account) means
that ?Account is the account of the BankStatement ?Statement.")
(instance statementPeriod BinaryPredicate)
(domain statementPeriod 1 BankStatement)
(domain statementPeriod 2 TimeInterval)
(documentation statementPeriod EnglishLanguage "(&%statementPeriod ?Statement ?Period) means that
?Period is the time period of the BankStatement ?Statement.")
(=>
(and
(statementPeriod ?Statement ?Period)
(duration ?Period ?Duration))
(equal ?Duration MonthDuration))
(=>
(and
(statementPeriod ?Statement ?Period)
(dateOfStatement ?Statement ?Date))
(finishes ?Date ?Period))
(instance statementInterest BinaryPredicate)
(domain statementInterest 1 BankStatement)
(domain statementInterest 2 CurrencyMeasure)
(documentation statementInterest EnglishLanguage "(&%statementInterest ?Statement ?Amount) holds
if ?Amount is the interest amount as shown on the BankStatement ?Statement.")
(=>
(and
(statementInterest ?Statement ?Interest)
(statementPeriod ?Statement ?Period)
(statementAccount ?Statement ?Account))
(exists (?Amount)
(interestEarned ?Account ?Amount ?Period)))
(instance buyingPowerAmount TernaryPredicate)
(subrelation buyingPowerAmount availableBalance)
(domain buyingPowerAmount 1 FinancialAccount)
(domain buyingPowerAmount 2 Day)
(domain buyingPowerAmount 3 CurrencyMeasure)
(documentation buyingPowerAmount EnglishLanguage "(&%buyingPowerAmount ?Account ?Day ?Amount) holds
if ?Amount is the buying power amount of the &%FinancialAccount ?Account on the &%Day
?Day.")
;;(instance marginBalanceAmount TernaryPredicate)
(subrelation marginBalanceAmount availableBalance)
(domain marginBalanceAmount 1 FinancialAccount)
(domain marginBalanceAmount 2 Day)
(domain marginBalanceAmount 3 CurrencyMeasure)
(documentation marginBalanceAmount EnglishLanguage "(&%marginBalanceAmount ?Account ?Day ?Amount)
holds if ?Amount is the margin balance amount of the &%FinancialAccount ?Account
on the &%Day ?Day.")
;;(instance shortBalanceAmount TernaryPredicate)
(subrelation shortBalanceAmount availableBalance)
(domain shortBalanceAmount 1 FinancialAccount)
(domain shortBalanceAmount 2 Day)
(domain shortBalanceAmount 3 CurrencyMeasure)
(documentation shortBalanceAmount EnglishLanguage "(&%shortBalanceAmount ?Account ?Day ?Amount)
holds if ?Amount is the short balance amount of the &%FinancialAccount ?Account
on the &%Day ?Day.")
;;(instance marketValueAmount TernaryPredicate)
(subrelation marketValueAmount availableBalance)
(domain marketValueAmount 1 FinancialAccount)
(domain marketValueAmount 2 Day)
(domain marketValueAmount 3 CurrencyMeasure)
(documentation marketValueAmount EnglishLanguage "(&%marketvalueAmount ?Account ?Day ?Amount) holds
if ?Amount is the market value amount of the &%FinancialAccount ?Account on the &%Day
?Day.")
(subclass ExternalTransfer FinancialTransaction)
(documentation ExternalTransfer EnglishLanguage "A subclass of &%FinancialTransactions from one
&%FinancialOrganization to another.")
(=>
(and
(instance ?Transfer ExternalTransfer)
(origin ?Transfer ?Organization1)
(instance ?Organization1 FinancialOrganization)
(destination ?Transfer ?Organization2)
(instance ?Organization2 FinancialOrganization))
(not (equal ?Organization1 ?Organization2)))
(subclass InternalTransfer FinancialTransaction)
(disjoint InternalTransfer ExternalTransfer)
(documentation InternalTransfer EnglishLanguage "A subclass of &%FinancialTransactions within
one &%FinancialOrganization.")
(=>
(and
(instance ?Transfer ExternalTransfer)
(origin ?Transfer ?Organization1)
(instance ?Organization1 FinancialOrganization)
(destination ?Transfer ?organization2)
(instance ?Organization2 FinancialOrganization))
(equal ?Organization1 ?Organization2))
(subclass Update FinancialTransaction)
(subclass Update ContentDevelopment)
(documentation Update EnglishLanguage "To change data in a file or database")
(instance loanFeeAmount BinaryPredicate)
(domain loanFeeAmount 1 Loan)
(domain loanFeeAmount 2 CurrencyMeasure)
(documentation loanFeeAmount EnglishLanguage "(&%loanFeeAmount ?Loan ?Amount) means that
?Amount is the fee amount of the Loan ?Loan.")
(=>
(and
(loanFeeAmount ?Loan ?Amount)
(agreementPeriod ?Loan ?Period))
(interestEarned ?Loan ?Amount ?Period))