SSRN Id3450470
SSRN Id3450470
SSRN Id3450470
September 9, 2019
A BSTRACT
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.
Keywords Trading Systems · trading strategies · quantitative trading · Financial Markets · cognitive architectures ·
standard model · artificial intelligence · cognitive science · robotics
ACM-class: D.2.2 Design Tools and Techniques ; D.2.11 Software Architectures; I.2.1 Applications and Expert
Systems
1 Introduction
Cognitive computing and cognitive technologies are game-changers for future engineering systems [Noor, 2015].They
are significant drivers for knowledge automation tasks and the creation of cognitive products with higher lev-
els of intelligence than current smart items. The complexity of financial markets [Arthur, 1995, Arthur, 1999,
Carlin, 2009, Mauboussin, 2002]is forcing the use of increasingly sophisticated trading systems.[Dase and Pawar, 2010,
Kyoung-jae and Ingoo, 2000, López de Prado, 2018]. 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 an 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.”
2 Background
2.1 Cognitive Trading System
• “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.
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.
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.
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 [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 a 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.
The standard model of 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:
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:
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:
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.
Buffer
<<artefact>> <<artefact>>
Procedural Working Memory
Long-term Memory
Buffer Buffer
<<artefact>>
<<artefact>>
External
Perception
Action
Data from
environment Bloomberg, Actions to Dark Pools
Reuters, venues (orders) Brokerage
Metatrader Exchanges
Exchanges Bank
Data Vendors,... Simulator
Others...
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.
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).
Episodic Semantic
Episodic Memory Semantic Memory
Learning Learning
Imagination
Global
Soar Workspace
Consciousness Current
Perception
Appraisal
Procedural Attention
Predicted
Memory
Situation
Expectation
Next
Perceptual Action
Buffer
Attention Motivational
Behavior
Perceptual Memory
External
Sensory Percetual Percepts Actions
Memory Memory
Object External
Sensory Mood Categories Actios
Input
Moods Dark Pool
Bloomberg Brokerage
Reuters Exchanges
Metatrader Bank
Exchanges Simulators
Data Vendors Others...
Figure 2: Cognitive Trading System Model where it is visible a detailed view of the module components.
Next, we will describe everything that a designer should take into account when designing a CTS. This description
should serve as a design checklist.
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
• 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).
4.2 Perception
Regardless of its design and purpose, a trading system cannot exist in isolation and requires input to produce be-
havior. 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:
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.
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 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 refers 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
• 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.
4.5 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 implemen-
tations 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.)
4.6 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]
describes priming:
• Declarative or explicit item Not declarative, which includes types:
– Perceptual
– Procedural
– Associative
– Non-associative
• Priming
4.7 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.
4.8 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
5 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
10
Semantic Episodic
Data warehouse Memory Memory
Semantic Episodic
Learning Learning
Performance
Inside App Monitoring
Risk High-level
Cognitives Usually
Management
Operations Human
System System
Tasks State
Event
Procedural Processor System Hardware
Software
Long-Term Model
Memory Reinforcement
Order
Learning
Constructor
System System
Admin. Admin.
Event Controller Screen System
Classifier Administrator
Chunking
Dark Pool
Bloomberg
Brokerage
Reuters
Exchanges
Metatrader
Bank
Exchanges
Simulators
Data Vendors
Others...
6 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
11
and its possible implementations. It is also our objective to use the model to research the possible improvements of
current trading systems.
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
12
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 dis-
cretization in artificial neural networks for the prediction of stock price index. Expert Systems with Applications,
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 across Artificial Intelligence, Cognitive Science, Neuroscience, and Robotics.
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 types of action selection: The action selection soup. Adaptive Behavior,
17(6):537–554. 4.4
13
[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 Optimiza-
tion 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
14