Cognitive Trading System Model
Yes, Artificial Intelligence (AI) is here to stay. Previously on this blog, I have written about the Basis of the Scientific Trading System as well as the Artificial Intelligence Trading Systems. Since then, I have designed a trading system model which I believe could satisfy all requirements of the present and future trading systems. In this post, I will describe the model following the guidelines of the Standard Model of the Mind (see below).
In the end, what we all want in this world of trading is to put our operations in the broker and get benefits. Well, we have already leaped ridicule trying to beat professionals with simple “strategies” or “manual” methods. These methods seemed to work at first until you lose too much and think, “What? What a sh_t! That’s the past.
We have evolved, and now we want our “strategies” to be automated. That is to say that they make the decisions, fast as lightning. But when we get it, we realize that we have to design continually new strategies. The market has changed (or as it is said euphemistically “the regime”), and has changed again and so on. Therefore, we want to incorporate into our “strategy” some method of correction (self-adaptation). This last is how we test with indicators and something that tells us when our strategy is no longer valid :). You know, that one of a drawdown too big and stuff (do you find it familiar?)
We have even programmed that new strategies come into operation and others stop automatically 🙂
All this implies a considerable programming effort. And if the code is not well structured (organized), then we enter a sea of ​​spaghetti code.
To this, we must add that we always want to be up to date on risk management, in new memories or new hardware such as GPUs, new AI techniques. How does reinforcement learning adapt to my platform with Tensorflow? What module do I put it? How do I do backtesting with that new technique we have seen?
For all of you who are new to the field of algorithmic trading, it will have been tough (and expensive) to find details of everything I am talking about simply because it does not exist. At least not too clearly.
And for those of you who are already veterans, this post will also come in handy. I am sure that it can clarify many concepts about the design of your trading platforms and systems.
This model is provisional, and I will improve it.
I have published the model as a paper on SSRN:
https://papers.ssrn.com/abstract=3450470
Enjoy it.
ABSTRACT
A model captures a community consensus on a coherent field of knowledge, serving as a cumulative benchmark that can guide both research and application design, while also focusing efforts to extend or review it. Here we propose to develop this model for cognitive trading systems, computational entities whose structures and processes are substantially similar to those in human cognition. We hypothesize that cognitive architectures provide an adequate computational abstraction to define a model applicable to the design of trading systems in their entirety, although the model is not in itself such an architecture. The resulting cognitive trading system model encompasses critical aspects of structure and processing, memory and content, learning, perception, and action; highlighting the main architectural aspects while identifying the potential areas of incompleteness which remain undeveloped. We hope to provide to the general community what it is and what we expect of a modern and future trading system, which is currently challenging to find synthesized in one place.
Introduction
Cognitive computing and cognitive technologies are game-changers for future engineering systems [Noor, 2015].
Algorithmic trading [Chaboud et al., 2011, Chan, 2009, Hendershott et al., 2009, Kaufman P. J., 2013, Pardo, 2015, Treleaven et al., 2013]has been one of the most discussed issues within the financial industry in recent years. In today’s hypercompetitive commercial world, financial institutions feel the growing need for technology to help them with their unique business style. In short, give them an advantage.
Sales-side institutions are exploring ways to increase the talent of their operators and optimize their customer services, while buy-side companies are persistent in their effort to control their business strategies and hide them from the competition.
Systematic and algorithmic trading has played an essential role in this situation.
Since 2006, algorithmic trading has entered the mainstream. Algorithmic techniques and the technology that drives them now have a significant influence on the way of trading the financial instruments, both in exchange and over-the-counter markets. We use Algorithmic trading in all kinds of assets, including stocks, futures, options, and currencies (FX). Its
techniques have even reached the world of betting or online gambling.
Modern trading systems include sophisticated artificial intelligence (AI) techniques and are advancing at high speed in their development. Therefore, it is convenient to have a trading system model that can guide the developers and traders from where they are in each phase of the development of their systems. System and Cognitive theories (Bertalanffy,
1950; Kotseruba & Tsotsos, 2018) can help in this purpose.
The critical fundamental hypothesis in artificial intelligence is that minds are computational entities of a particular kind, that is, cognitive systems, which can be implemented through a variety of physical devices (recently reformulated concept as substrate independence) (Bostrom, 2003). They may be natural brains, traditional general-purpose computers, or other forms of sufficiently functional hardware or software.
Artificial intelligence, cognitive science, neuroscience, and robotics contribute to our understanding of complex learning tasks, although each directs their research based on a different perspective. The differences are:
- Artificial Intelligence refers to the construction of artificial minds and, therefore, cares more about how to construct systems than exhibiting intelligent behavior.
- Cognitive science refers to modeling natural minds and, therefore, is more concerned with understanding the cognitive processes that generate human thinking.
- Neuroscience refers to the structure and function of brains and, therefore, is more concerned with how brains’ minds arise.
- Robotics refers to the construction and control of artificial bodies and, therefore, worries more about how minds control such bodies.
Our purpose is to present an overview of the Cognitive Trading System (CTS) model, which define a model for a trading system in the more general sense and starting the development of what can be called a blueprint of trading systems. We want to develop AI Trading Systems. Undirected research is sub-optimal, so we need to have a plan how to achieve AI trading systems, and for that, we need to define what we expect from trading systems to achieve in various stages of development. CTS was designed on many ideas coming from the Standard Model of the Mind [Laird et al., 2017], MECA (Multipurpose Enhanced Cognitive Architecture) [Gudwin et al., 2018], and CST (Cognitive Systems Toolkit) [Paraense et al., 2016] where to combine much of what current trading systems are. This model is supposed to be internally consistent but still has significant gaps.
The purpose of this model is:
- Characterizing existing trading systems. Modeling Many poorly documented existing trading systems can provide a concise way to represent the existing system design.
- Trading System design and requirements flow-down. This model can be used to support architectural system solutions, as well as flow trading system requirements down to components.
- Support for trading system integration and verification. This model can be used to support the integration of the hardware and software components into a trading system, as well as to support verification that the trading
system satisfies its requirements.
The standard model of the mind could serve as a shared ontology, providing a vehicle to map common aspects, and possibly different terminology, of disparate architectures on a common basis.
This model represents what we have named “Cognitive Trading System.”
Background
Cognitive Trading System
Here we propose the following definition:
A cognitive trading system (CTS) is a group of interacting entities that form a unified organization, influenced by its environment, confined by its implementation and temporal limits. It is described by its cognitive structure and functioning and whose purpose is to obtain wealth by trading assets in the financial markets.
Some explanations come here:
- “group of interacting entities” is the set of all the necessary elements for the tasks to work. For example, we can now consider that a trading system is composed of the traders + computer + software to trade.
- “that form a unified organization” means that it is not possible to perform system tasks if we eliminate some of its parts.
- “influenced by its environment”. That is, the system perceives its environment, for example, economic events, natural disasters, news.
- “It is confined by its implementation and temporal limits”. So, the hardware and software limit the system, also the implementation date.
- “It is described by its cognitive structure and functioning”. This last is a capital part of the definition since it means that we can describe the system from how it perceives information and how it processes and acts. In short, we can describe the system by one or several cognitive architectures.
- “whose purpose is to obtain wealth by trading assets in the financial markets” (self-explanatory).
Therefore, a cognitive trading system is made up of all the necessary elements to receive the information from the environment, process it, and acts by performing trading operations.
Therefore, a cognitive trading system is made up of all the necessary elements to receive
A “floor trader,” the human being, and possibly a telephone or a telegraph, were in itself the cognitive trading system in the years before the computer age. The cognitive system of the trader (perhaps with the help of a calculator) processed all the logic.
However, at present, we can see very sophisticated trading systems where a large part of the information processing (cognitive tasks) is carried out by specialized modules of artificial intelligence. We can then say that cognitive tasks are shared between the trader and the machine, even that more and more tasks are performed by the machine, thus relegating the human trader to perform high-level cognitive tasks, such as the creation of strategies, or the control of global risk. Besides, the machine has gone from being a simple computer to a complex network cluster often distributed by the cloud. Hence the need to have a system model for the design of current complex trading activities.
Therefore, we can consider a CTS as an extension that encompasses not only the concepts traditionally used in the industry such as trading algorithms, quantitative trading, trading strategies, trading systems, trading architecture, data entry and their treatment, etc. but also the mental processes performed by the people involved in the trading tasks (the trader, the risk officer, the system administrator, etc.). These mental processes, currently typical of the human being (situation analysis, goal setting, strategy creation, implementation, problem-solving, and more) are also likely to be performed by machines shortly. To do this, the CTS aims to identify the tasks that can be automated at any time and transfer such tasks to the machines. The CTS would then serve as a design and monitoring map for the performance of an increasingly complex and evolved trading system.
Guide Lines
When we approach the creation of a trading system model, we need to take into account what we expect of that system and model. Below we signal some requirements based mainly on [Bates and Palmer, 2007] and other usual industry demands.
Therefore, we must expect from our trading system model to allow us to do the following:
- Be the first to create a system. Today’s markets are continually evolving, with new opportunities that arise per minute. White-box trading systems allow to quickly compose and evolve algorithms to monitor, analyze, and respond to market events in a specific way. The ability to customize business strategies to the unique requirements of a company means that there is a more significant opportunity for competitive advantage. In today’s competitive environment, the trader must be able to develop algorithmic strategies for implementation in record time.
- Customize quickly. A growing trend in the current algorithmic trading space is dissatisfaction with the commercialized black box algorithms provided by brokers. If everyone has access to the same algorithms, where is the advantage? Increasingly, support tables on the sale side and hedge funds on the purchase side are developing personnel capable of designing differentiated algorithms. A white box approach allows companies to take advantage of their intellectual property and create a competitive advantage.
- Evolve rapidly. As the creation and customization of algorithmic strategies are critical, so is the rapid evolution of trading systems. If systems are not developed to capitalize on an opportunity quickly, then competition will. We must develop systems continuously and systematically. In the race for algorithmic supremacy, companies try to observe the counterpart’s commercial activity and, automatically or manually, “apply reverse engineering” to the strategies used. As a result, companies must plan to evolve rapidly or perish. Even ideally, the system will reprogram itself in response to external changes.
- Get access to multiple liquidity pools. With the increase in ECN and DMA, electronic markets continue to advance. Today, companies can gain advantages by spreading commercial activity in these multiple groups, which differ in their strengths. For example, in the FX market, Currenex is similar to Hotspot, but it is not anonymous; EBS and Reuters Dealing 3000 are essential players but tend to be exceptionally competitive in pairs of specific exchange rates. Understanding the anomalies in the variety of liquidity groups can be a source of advantage, but the only way to obtain this advantage is if the algorithmic trading platform can access multiple liquidity groups at the same time. Also, the monitoring of several groups in real-time allows a strategy to route orders to the group with, for example, the best price or the highest available liquidity.
- Operate within multiple asset classes. When a trading platform has electronic access to multiple asset classes, it is possible to combine existing algorithmic systems by operating on multiple assets simultaneously in a single strategy. For example, a company could buy shares and cover them with an option, while taking an FX position, all at the same time.
- Integrate news and all kind of real-time data channels into the trading system. Today’s financial markets move through the news. For example, non-farm payroll numbers in the US In the US, the decisions of global interest rates or the announcements associated with specific actions have an impact on the confidence in the affected values and, therefore, in the prices. When a trading system can analyze and react to the news and other data before other systems, then the advantage arises.
- Design for low latency decisions. In algorithmic trading, milliseconds are essential. Minimizing the time between event detection (market data, news, requests for quotes) and the action (placing an order) is critical.
- Research strategies and scientific design of trading systems. With companies continually developing their unique strategies, how can they ensure that the strategies they introduce in the markets are the best? For the rapid development and deployment of new strategies, it is critical to test algorithms under a range of anticipated market conditions. For this, a scientific methodology of research and development of systems must be carried out.
- Integrate risk management within the trading system. Historically, the calculation of risk exposure was often carried out in batches at the end of the trading day. Now, companies incorporate back-office functions traditionally in algorithmic trading, such as adjusting risk exposure. This last reinforces the need for algorithmic risk management in real-time.
Trading System Architecture
There is no consensus on what a system architecture means. This article adopts the definition of [Reid, 2013] that defines the system architecture as “the infrastructure within which application components which satisfy functional requirements can be specified, deployed, and executed. Functional requirements are the expected functions of the system and its components, e.g., make trading decisions. Non-functional requirements are measures through which the quality of the system can be measured, e.g., make millions of trading decisions per second (performance) and log the
audit trail for all trading decisions made (auditability).”
The idea is that we must embed the trading architecture within the cognitive architecture. See below.
Cognitive Architectures
Cognitive architectures [Kotseruba and Tsotsos, 2018] are part of the research in general AI, which began in the 1950s to create programs that can reason about problems in different domains, develop ideas, adapt to new situations and reflect on themselves.
The goal of cognitive architectures is to model the human mind, eventually allowing to build AI at the human level. To this end, cognitive architectures try to provide evidence of what particular mechanisms manage to produce intelligent behavior.
According to [Russell and Norvig, 2003], artificial intelligence can be performed in four different ways:
- Systems that think like humans.
- Systems that think rationally.
- Systems that act like humans.
- Systems that act rationally.
Existing cognitive architectures have explored the four possibilities. We want to emphasize that modern trading system need to have a good architecture of both software and hardware but also cognitive. In this way, it is possible to integrate in an agile manner all the advances that arise regarding the application of artificial intelligence to financial markets.
In Appendix A we have an updated list of the main cognitive architectures that are currently being implemented and mature. It is not an exhaustive list, and of course, it is open so it must be updated continuously according to future research (source http://jtl.lassonde.yorku.ca/project/cognitive_architectures_survey/)
In the next section, we describe the standard model of the mind that allows us to specify how would the cognitive trading system model be. This standard model condenses three cognitive architectures, namely: Soar, ACT-R, and Sigma. However, its vocation is to cover as many compatible models as possible. That is why it is a sound basis for our cognitive trading model.
Proposed Trading System Model
Cognitive Trading System Model with Standard Model of Mind Style
The standard model of the mind (SMM) [Laird et al., 2017], broken down into structure and processing; memory and content; learning; and perception and action. This model represents the author’s understanding of the consensus that was presented skeletally at the AAAI symposium, based primarily on three cognitive architectures of interest:
- Soar [Laird, 2018]
- ACT-R [Anderson, 2007]
- Sigma [Rosenbloom et al., 2016]
It is a consensus model; therefore, it is not universally accepted, after all, it does not require unanimity: it is an attempt to provide a coherent summary together with a set of assumptions widely shared in the field.
Although in principle the SMM adapts well to the three cognitive architectures named above, there is no impediment to continue adding other architectures, current or future, with the corresponding adaptation if necessary. We have included part of the concepts of the MECA architecture and have made use of the nomenclature of codelets, although we have replaced the concept of codelet with that of component, more widely used in the design of the software used in the financial industry. However, there are already rigorous codelet implementations that can make the construction of complete trading systems viable [Suettlerlein et al., 2013].
The structure of a CTS architecture defines how information is organized and processed into components and how information flows between components. This model postulates that independent modules which have different functionalities constitute a cognitive trading system.
The following figure 1 shows the result of the proposed CTS architecture bases on the Standard Model of Mind Style.
The central components of the cognitive trading model include:
- Perception channels (PC)
- Action channels (AC)
- Working memory (WM)
- Declarative long-term memory (DLTM)
- Procedural long-term memory. (PLTM)
It can serve as a model to design and develop all kind of trading systems. It is a model, so it is subject to changes and modifications necessary to adapt to design needs.
We can see each of the modules as unitary or further decomposed into multiple modules.
Working memory buffers are:
- Semantic declarative memory.
- Episodic declarative memory.
- Matching procedural memory.
- Selection procedural memory
- Execution procedural memory
Outside of direct connections between the PC and AC modules, WM acts as the inter-component communication buffer for components. We can consider it as unitary, or consist of separate modality-specific memories (e.g., Market data, visual data, others.) that together constitute an aggregate working memory.
DLTM, PC, and AC modules are all restricted to accessing and modifying their associated working memory buffers, whereas procedural memory has access to all of working memory (but no direct access to the contents of long- term declarative memory or itself). All long-term memories have one or more associated learning mechanisms that automatically store, modify, or tune information based on the architecture’s processing.
We have represented the test environment separated from the production environment because it is a common practice,
but the idea is that both environments integrate within the same cognitive structure. That is, this separation should be considered as symbolic since the entire cognitive structure of a trading system forms a whole.
Cognitive Trading System Model
In this section, we present the Cognitive Trading System model with the main modules. Figure 2 shows an overview of the CTS model. The names of the components follow the MECA and CST reference architecture. The conception of CTS inherits many ideas from different sources. First of all, CTS is an instance of SMM. That means that CTS split into five modules. The model is a network that connects three types of elements: components, memories, and containers (which groups together memories). All inputs and outputs of the model are made exclusively by the Perception and
External Actions modules. The inputs to the CTS are made by the sensory components (bottom left in the diagram), which are responsible for collecting the input data and filling the Sensory Memory. The outputs of the CTS are carried out by the External Actions components, which collect data from the External Actions Memory and are responsible for sending this data to the system actuators (among others the Order Management System).
The Architecture Guidelines
Next, we will describe everything that a designer should take into account when designing a CTS. This description should serve as a design checklist.
Structure and processing
The structure of a cognitive trading system defines how information and processing are organized into components and how information flows between components.
- The purpose of architectural processing is to support bounded rationality, not only optimality. However, optimality is acceptable because we are also thinking of non-human-like artificial intelligence.
- Processing is based on a small number of task-independent modules
- There is significant parallelism in architectural processing
- Processing is parallel across modules. May be:
- Asynchronous
- Synchronous
- Processing is parallel within modules. Information processing may be:
- Rule match
- Graph solution
- Rule firings
- Processing is parallel across modules. May be:
- Behavior is driven by sequential action selection via a cognitive cycle. This last runs at 50 ms per cycle in human cognition, but maybe in the order of ns for machine cycles.
- Complex behavior arises from a sequence of independent cognitive cycles that operate in their local context, without a separate architectural module for global optimization (or planning).
Perception
Regardless of its design and purpose, a trading system cannot exist in isolation and requires input to produce behavior. Perception channel is a process that transforms raw input data into the internal representation of the system. It converts external signals into symbols and relationships, with associated metadata, and places the results in specific buffers within working memory. The system can have many different perception modules, each with information of a different modality (see the possible types of data below) and each with its perception buffer.
Depending on the origin of the source and properties of the data entry, multiple modules are distinguished: The most common are:
- Fundamental data (Assets, ROI, Macro parameters),
- Market data (Price, Volume, Dividends),
- Analytic data (Recommendations, market sentiments),
- other data (images, Google searching, Social Networks)
Naturally, the architectures of many systems implement some of these, as well as other modalities that do not have an explicit correlation with the market but with human beings as the symbolic entrance [i.e., keyboard input or graphical user interface (GUI)] and various sensors and even forecasts from other systems.
Depending on its capabilities, a trading system can process various amounts and types of data as perceptual input. In this section, the designer must investigate the diversity of data entries used in trading architectures. Also, what kind of information is extracted from these sources and how to apply it.
Perception converts external signals into symbols and relationships, with associated metadata, and places the results in specific buffers within working memory. The system can have many different perception modules, each with information of a different modality (see the possible types of data above) and each with its perception buffer.
Perception yields symbol structures with associated metadata in specific working memory buffers.
- There can be many different perception modules, each with input from a different data modality and its buffer.
- Perceptual learning acquires new patterns and tunes of existing ones.
- An attentional bottleneck constrains the amount of information that becomes available in working memory.
- Perception can be influenced by top-down information provided from working memory.
Attention (Filtering)
With “Attention,” we want to name all kinds of filters and selection strategies to which the input data will be submitted.
Perceptual attention plays a vital role in the information processing of trading systems since it mediates the selection of relevant information and filters the irrelevant information of the input data. However, it would be a mistake to think of attention as a monolithic filter that decides what to process or what not to process. We must understand attention as a set of mechanisms that affect both perceptual and processing tasks. Currently, treatment of price and volume data, as well as the lack of any data at the entrance of the system remains the most studied form of attention. This last is because only a few architectures have underlying mechanisms to filter news or image data efficiently. Also, attention components include risk management filters.
The model assumes an attentional bottleneck that restricts the amount of information that is available in the working memory but does not incorporate any compromise regarding the internal representation (or processing) of the information within the perceptual modules.
External Action
External Action channels convert the symbol structures and their meta-data that have been stored in their buffers into orders through the order manager. As with perception channels, there can be multiple order modules. Although the risk control (attentional) system supervises the ultimate control over the orders.
Action selection determines at any point in time, “what to do next.” The “what” part involves the decision making and the “how” part the action (motor) control [Öztürk, 2009]. In our trading context, motor actions are external actions which involve order management related actions.
Actions are then involved in the External Action module and the Working memory.
We distinguish three main types of actions [Kotseruba and Tsotsos, 2018]:
- Planned actions refer to traditional AI algorithms. They determine a sequence of steps to reach a certain objective or to solve a problem before run time.
- Dynamic actions choose one of the best actions among the alternatives based on the knowledge available at that time. The default option is always the best action based on the defined criteria (for example, the action with the highest activation value).
- Type of selection:
- Winner-take-all (WTA) [Grossberg, 1973, Lazzaro et al., 1988]
- Probabilistic [Simmons and Koenig, 1995]
- Predefined order
- A Finite-state machine [Gat, 1992]
- Selection criteria:
- Relevance
- Utility
- Emotion / Feeling
- Type of selection:
- Reactive actions are executed, bypassing the action selection. These actions are typical of risk management systems (RMS) and can take full control of the system if necessary.
Finally, learning can also affect the selection of action. Keep in mind that these action selection mechanisms are not mutually exclusive and most trading systems have more than one.
Memory
Memory is an essential part of any trading system. Memory systems store intermediate calculation results, allowing learning and adaptation to the changing environment. However, despite their functional similarity, particular implementations of memory systems differ significantly and depend on research objectives and conceptual limitations, such as programming language, software architecture, use of frameworks, software paradigms. In the cognitive architecture, memory is described in terms of its duration (short-term and long-term) and type (procedural, declarative, semantic), although it is not necessarily implemented as separate knowledge stores.
We follow the convention for memories [Cowan, 2008]:
- Long-term memory
- Semantic memory (which store factual knowledge)
- Procedural (with information on what actions should be taken under certain conditions)
- Episodic memory (which store factual knowledge, and episodes from the individual experience of the system)
- Short-term memory
- Sensory or perceptual memory (very short-term buffer that stores several recent percepts)
- Working memory (temporary storage for percepts that also contains other items related to the current task and is associated with the current focus of attention.)
Learning
Learning is the ability of a system to improve its performance over time. Experience is the base of any learning (feedback). Thus, a trader or a trading system itself may be able to infer facts and behaviors from observed events or the results of its actions. The type of learning and its realization depend on many factors, such as the design paradigm, the
application scenario, the data structures, and the algorithms used to implement the architecture, among others. Squire [Squire, 1984] defines declarative and non-declarative types of learning and Breazeal et al. [Breazeal et al., 2001] describe priming:
- Declarative or explicit item Not declarative, which includes types:
- Perceptual
- Procedural
- Associative
- Non-associative
- Priming
Reasoning
The reasoning is the ability to process knowledge logically and systematically. The reasoning can affect or structure virtually any type of trading system. As a result, apart from the classic triad of logical inference (deduction, induction, and abduction), other types of reasoning are considered, such as heuristic, defensible, analogical, narrative, even moral.
All trading systems have to do with practical reasoning, whose ultimate goal is to find the next best action and carry it out, as opposed to theoretical reasoning that aims to establish or evaluate beliefs. A significant amount of reasoning and planning from a designer is required to build a trading system with non-trivial capabilities. The reasoning is intimately related to planning, decision making, and learning, as well as perception, understanding of language, situations, and problem-solving.
Metacognition
Metacognition [Flavell, 1979], intuitively defined as “thinking about thinking,” is a set of skills that introspectively monitor internal processes and reason about them. There is an increasing interest in the development of the metacognition of trading systems due to the practical need to identify, explain, and correct erroneous decisions. We will focus on the
three most common metacognitive mechanisms, namely:
- Self-observation
- Self-analysis
- Self-regulation
Practical Application
So, with this model, we can map all kind of actual trading architectures. As an example below is one trading architecture adapted and modify from the original “Algorithmic Trading System” designed by [Reid, 2013] There we can see, in pink color, the high-level cognitive operations that remain in the particular field of human intelligence. This task represents research opportunities areas toward the full-autonomous trading system. These areas are:
- Trader screening
- Risk officer screening
- System administrator screening
Conclusions
We offer an expanded definition of the trading systems used in financial markets and what we call “Cognitive Trading System” based on the cognitive architecture of the system. We have presented a model of this “Cognitive Trading System” using the standard model of the mind as a reference. We have described the main modules as well as the main
components of such modules. Finally, We have presented a concrete example of the application of this model based on an actual trading system architecture. Our future work will aim at providing more significant details of each module and its possible implementations. It is also our objective to use the model to research the possible improvements of current trading systems.
Appendix A Cognitive Architectures
4D-RCS | https://github.com/usnistgov/rcslib |
ACT-R | http://act-r.psy.cmu.edu/software/ |
AIS | http://www-ksl.stanford.edu/projects/BB1/bb1.html |
APEX | http://apex-autonomy.sourceforge.net/ |
ART | http://techlab.bu.edu/resources/software/ |
ASMO | https://github.com/airobots/asmo_python, https://github.com/airobots/asmo_ros |
BECCA | https://github.com/brohrer/becca |
CAPS | http://www.ccbi.cmu.edu/4CAPS/4caps-v1-3.2.6.lsp |
CERA-CRANIUM | https://github.com/raul-arrabales/OpenCranium, https://github.com/raul-arrabales/crubots |
CHREST | https://github.com/petercrlane/chrest |
CLARION | https://sites.google.com/site/clarioncognitivearchitecture/downloads |
CogPrime | https://github.com/opencog |
CoJACK | http://aosgrp.com/products/cojack/download_cojack.html |
Copycat/Metacat | http://science.slc.edu/~jmarshall/metacat/Metacat-1.1.zip, http://web.cecs.pdx.edu/~mm/how-to-get-copycat.html |
CoSy | http://www.cognitivesystems.org/software.asp |
Darwinian Neurodynamics | https://osf.io/7xfh2/ |
DIARC | http://ade.sourceforge.net/ |
HTM | http://numenta.org/ |
ICARUS | https://github.com/ghballiet/acs-journal/tree/master/app/webroot/courses/langley/aicogsys11/icarus |
iCub | http://wiki.icub.org/wiki/ICub_Software_Installation |
Leabra | https://grey.colorado.edu/emergent/index.php/Leabra, https://grey.colorado.edu/emergent/index.php/Main_Page |
LIDA | http://ccrg.cs.memphis.edu/framework.html |
MicroPsi | https://github.com/joschabach/micropsi2 |
MIDCA | https://github.com/mclumd/MIDCA |
MusiCog | http://www.sfu.ca/~jbmaxwel/MusiCog/downloads.html |
NARS | https://github.com/opennars/opennars/wiki |
NEUCOGAR | https://github.com/research-team/NEUCOGAR |
OSCAR | http://johnpollock.us/ftp/OSCAR-web-page/oscar.html |
Pogamut | http://pogamut.cuni.cz/main/tiki-index.php |
PRODIGY | http://www.cs.cmu.edu/afs/cs.cmu.edu/project/prodigy/Web/Distribution/distrib.html |
Sigma | https://bitbucket.org/sigma-development/sigma-release/wiki/Home |
Soar | https://github.com/SoarGroup |
SPA (Spaun) | http://www.nengo.ca/download |
STAR | https://github.com/TsotsosLab/STAR-FC |
Xapagy | https://github.com/Xapagy/Xapagy |
Table 1: Cognitive Architectures which are mature and with a certain degree of development. Source:
http://jtl.lassonde.yorku.ca/project/cognitive-architectures-survey/
http://www.data.nvision2.eecs.yorku.ca/cognitive-architecture-survey
References
[Anderson, 2007] Anderson, J. R. (2007). How Can the Human Mind Occur in the Physical Universe? Oxford
University Press. 3.1
[Arthur, 1995] Arthur, W. B. (1995). Complexity in Economic and Financial Markets. Complexity, 1(1):20–25. 1
[Arthur, 1999] Arthur, W. B. (1999). Complexity and the Economy. (April):107–109. 1
[Bates and Palmer, 2007] Bates, J. and Palmer, M. (2007). Next-Generation Algorithmic Trading. Trading Spring,
2007(1):31–34. 2.2
[Breazeal et al., 2001] Breazeal, C., Edsinger, A., Fitzpatrick, P., and Scassellati, B. (2001). Active vision for sociable robots. IEEE Transactions on Systems, Man, and Cybernetics Part A: Systems and Humans., 31(5):443–453. 4.6
[Carlin, 2009] Carlin, B. I. (2009). Strategic price complexity in retail financial markets. Journal of Financial
Economics, 91(3):278–287. 1
[Chaboud et al., 2011] Chaboud, A., Hjalmarsson, E., Vega, C., and Chiquoine, B. (2011). Rise of the Machines:
Algorithmic Trading in the Foreign Exchange Market. The Journal of Finance, 69(5):2045–2084. 1
[Chan, 2009] Chan, E. P. (2009). Quantitative Trading: How to Build Your Own Algorithmic Trading Business. John
Wiley and Sons, Inc. 1
[Cowan, 2008] Cowan, N. (2008). Chapter 20 What are the differences between long-term, short-term, and working memory? Progress in Brain Research, 169(June):323–338. 4.5
[Dase and Pawar, 2010] Dase, R. and Pawar, D. (2010). Application of Artificial Neural Network for stock market predictions: A review of literature. International Journal of Machine Intelligence, 2(2):14–17. 1
[Flavell, 1979] Flavell, J. H. (1979). Metacognition and Cognitive Monitoring. 34(10):906–911. 4.8
[Gat, 1992] Gat, E. (1992). Integrating Planning and Reacting in a Heterogeneous Asynchronous Architecture for
Controlling Real-World Mobile Robots. pages 809–815. 4.4
[Grossberg, 1973] Grossberg, S. (1973). Contour Enhancement, Short Term Memory, and Constancies in Reverberating
Neural Networks. Studies in Applied Mathematics, 52(3):213–257. 4.4
[Gudwin et al., 2018] Gudwin, R., Paraense, A., De Paula, S., FrĂłes, E., Gibaut, W., Castro, E., Figueiredo, V., and
Raizer, K. (2018). An overview of the Multipurpose Enhanced Cognitive Architecture (MECA). Procedia Computer
Science, 123:155–160. 1
[Hendershott et al., 2009] Hendershott, T., Jones, C. M., and Menkveld, A. J. (2009). Does Algorithmic Trading
Improve Liquidity ? 1 Does Algorithmic Trading Improve Liquidity ? New York, LXVI(1):1–34. 1
[Kaufman P. J., 2013] Kaufman P. J. (2013). The New Trading Systems and Methods. 1
[Kotseruba and Tsotsos, 2018] Kotseruba, I. and Tsotsos, J. K. (2018). 40 Years of Cognitive Architectures: Core
Cognitive Abilities and Practical Applications. Springer Netherlands. 2.4, 4.4
[Kyoung-jae and Ingoo, 2000] Kyoung-jae, K. and Ingoo, H. (2000). Genetic algorithms approach to feature discretization in artificial neural networks for the prediction of
19(2):125–132. 1
[Laird, 2018] Laird, J. E. (2018). The Soar Cognitive Architecture. The Soar Cognitive Architecture, page 12296. 3.1
[Laird et al., 2017] Laird, J. E., Lebiere, C., and Rosenbloom, P. S. (2017). A Standard Model of the Mind: Toward a
Common Computational Framework
AI Magazine, 38(4):13–26. 1, 3.1
[Lazzaro et al., 1988] Lazzaro, J., Mead, C., Ryckebusch, S., and Mahowald, M. (1988). Winner-Take-All Networks of O(N) Complexity. pages 703–711. 4.4
[LĂłpez de Prado, 2018] LĂłpez de Prado, M. (2018). Advances in Financial Machine Learning. John Wiley and Sons,
Inc. 1
[Mauboussin, 2002] Mauboussin, M. J. (2002). Revisiting Market Efficiency: the Stock Market As a Complex Adaptive
System. Journal of Applied Corporate Finance, 14(4):47–55. 1
[Noor, 2015] Noor, A. K. (2015). Potential of cognitive computing and cognitive systems. Open Engineering,
5(1):75–88. 1
[Ă–ztĂĽrk, 2009] Ă–ztĂĽrk, P. (2009). Levels and
17(6):537–554. 4.4
[Paraense et al., 2016] Paraense, A. L., Raizer, K., de Paula, S. M., Rohmer, E., and Gudwin, R. R. (2016). The cognitive systems toolkit and the CST reference cognitive architecture. Biologically Inspired Cognitive Architectures,
17:32–48. 1 [Pardo, 2015] Pardo, R. (2015). The Evaluation and Optimization of Trading Strategies. The Evaluation and Optimization of Trading Strategies. 1
[Reid, 2013] Reid, S. G. (2013). Algorithmic Trading System. pages 1–29. 2.3, 5, 3
[Rosenbloom et al., 2016] Rosenbloom, P. S., Demski, A., and Ustun, V. (2016). The Sigma Cognitive Architecture and System: Towards Functionally Elegant Grand Unification. Journal of Artificial General Intelligence, 7(1):1–103. 3.1
[Russell and Norvig, 2003] Russell, S. J. and Norvig, P. (2003). Artificial intelligence: a modern approach, second edition. Prentice-Hall, Inc. 2.4
[Simmons and Koenig, 1995] Simmons, R. and Koenig, S. (1995). Probabilistic Robot Navigation in Partially Observ-
able Environments. Proceedings of the 1995 International Joint Conference on Artificial Intelligence (IJCAI), pages
1080–1087. 4.4
[Squire, 1984] Squire, L. R. (1984). Nondeclarative Memory: Multiple Brain Systems Supporting Learning. Neuro-
science, 4(3):232–243. 4.6
[Suettlerlein et al., 2013] Suettlerlein, J., Zuckerman, S., and Gao, G. R. (2013). An Implementation of the Codelet
Model. pages 633–644. 3.1
[Treleaven et al., 2013] Treleaven, P., Galas, M., and Lalchand, V. (2013). Algorithmic trading review. Communications of the ACM, 56(11):76–85. 1