Neurone Simulation Versus Markets

Published on 20 March 2025 at 20:37

"A wise person should have money in their head but not in their heart" - Jonathan Swift

 

Introduction

 

This is my blog about strange software development I do. I have been building a brain simulation for some time and I got to the point i needed to see how good or bad it was at re-world tasks. So I set it up to run against the markets, which all of the currency and most of the crypto.

 

Neural Plasticity

 

The AI being used is the one I was describing in the Hello World series. I had performed enough tests removing the ANN back propagation processes and left it just with the neural plasticity algorithm that allowed the network rearrange its connections based on similar processes  to what happens in the brain. The idea here is that the calcium ion channels is really high the neurone connects to other neurones with high calcium meaning they start to form chains of neurones that will fire in similar times and when calcium is low it removes those with low calcium.

I built a algorithm on the basis of this and by running a set of words through the network it showed that it could reduce the error by changing the order and shape of the system. In my head this is similar to decision tree but with temporal data and in a spiking neurone.

It looks like this when graphed the network runs and when the neuronal avalanche stops its reset and a new neurone is added. This is another benefit that the whole code can be rearranged and started and stopped. The downside is because the firing is ordered it is a real pain to work out a protocol for setting up the network and resetting it. I have resisted the urge to label this protocol the Lazarus protocol because essentially the network has a shelf life and then will eventually run out.

Theoretically people have built a brain simulation where the simulation had a self sustaining and non repeating neuronal signal that keeps firing. Link in references. I think my network is too small for this.

 

 

The Network

 

The network itself is 182686 neurones, note that is neurones not parameters. Each neurone is a detailed simulation of a biological neurone or at least more detailed than most AI do. This extra detail gives a variety of extra details. It has this feature that it needs a long rest after firing such that it will only double fire if given 10 times its initial input needed to fire. 

This helps the network learn a temporal model of what its learning and I have added a few extra things to make it better at this. 

The whole thing is reinforcement learning it learns independently, autonomously and without any especially complex learning signal.

It is intended for self directed learning without human oversight based on real time reactions against the market. After deployed no human interaction is possible in this prototype, All details below are Realtime data of virtual trades decided by the AI with no human interaction, No money was exchanged but minder analyst systems track AI behaviour and performance and record its data and its from that data I do the analysis. 

It does multiple types of learning simultaneously each matching the processes described in the hello world series and intended to imitate how the brain works. This learning is gradient descent, neural plasticity and a limited changes to the cells morphology over time representing neurotransmitter seeping into the cell. The design of the neurone is meant to be a simulation of the human neurone. Therefore the claim this is a brain simulation. This is obviously debatable but 

I do not think the simulation has enough neurons to keep a continuous self sustaining neuronal firing it is expected the current version would eventually slow down. It is possibly just sub the required level and if I rewrote in C++ it might have the critical mass to become permanently cycling. 

This is because of the above blocking processes that once fired a neurone does not want to fire again. Eventually if the network does not have enough critical mass too much of its neurones will have fired and will not be available to re-fire and the operation will cease. 

Currently in the data it has slowed as some of its neurones have been pruned but it has not started terminal slowing and I estimate it would probably remain operational for two weeks. Upon stopping a system would resuscitate it and restart it. It is not impossible that it might continue firing though as I have limited number of versions where carful setup does allow the network to remain firing but this test was the first test of a brain simulation at this time.

It is of the class of a ordinary differential neural network using Hodgkin and Huxley differential equations. With specific learning rules.

 

Phew... I am not sure if this is gloating or impressive so on to data....

 

 

 

As a recap I cannot show you at this scale when it contains 1000s of neurones as it bogs down my PC to render it all. But it looks something like this with a central mass of neurones and lots of neurones circling it with own light connections. Sometimes a secondary areas forms.

It is my belief that this network configuration arises in response to the actual way its trained and would be different with different inputs and outputs thereby the network is in some sense formed as a product of its learning.

If you understand the maths its when a given node gets a large amount of voltage it would get into a state where it would be a candidate for the neuroplasticity process. i did really try to find a way to take snapshots of he network forming but I really failed on this point. I have just got a way to save a dictionary of its layout so I can try again in the future.

 

 

What did it do?

 

I am not going to list all 100+ tickers it works on below is the code that I use that adds and sets up each ticker. First value is symbol the type, and exchange. They all trade on minute to minute data, day and month but it is only scored on the real minute by minute data. I think this is a substantial size means I can make a claim that the AI was pitched against the whole worlds forex and a bunch of the crypto markets in Realtime. 

 

You can agree or disagree below is code that determines what it will trade on. It can be adapted to other assets as desired.

 

##########################################################################

 

gym.add_handler(symbol="BTCUSD",screener="crypto",exchange="coinbase",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCGBP",screener="crypto",exchange="coinbase",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCEUR",screener="crypto",exchange="coinbase",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSD",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCARS",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCTUSD",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSDT",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUAH",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCDAI",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCPLN",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCEUR",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCBRL",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCTRY",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSD",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSDT",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCCAD",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCEUR",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCCHF",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCGBP",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSDC",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCJPY",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCDAI",screener="crypto",exchange="kraken",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSD",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUST",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCXAUT",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCEUR",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCTRY",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCJPY",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCGBP",screener="crypto",exchange="bitfinex",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSD",screener="crypto",exchange="gemini",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCUSDT",screener="crypto",exchange="gemini",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCGUSD",screener="crypto",exchange="gemini",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCSGD",screener="crypto",exchange="gemini",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BTCEUR",screener="crypto",exchange="gemini",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="ETHUSDT",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="SOLUSDT",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="NADUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="XRPUSDT",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDCNY",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDJPY",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDAUD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CNYUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="JPYUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BNBUSD",screener="crypto",exchange="binance",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="AUDUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDCAD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CADUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDCHF",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CHFUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURAUD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="AUDEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURCAD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CADEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURCHF",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CHFEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURJPY",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="JPYEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="EURNZD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="NZDEUR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPJPY",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="JPYGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPAUD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="AUDGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPCAD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CADGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPCHF",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CHFGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="NZDGBP",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="GBPNZD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="JPYAUD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="AUDJPY",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CADAUD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="AUDCAD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CADCHF",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CHFCAD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="JPYNZD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="NZDJPY",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDBRL",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="BRLUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDCNH",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CNHUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDSAR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="SARUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDZAR",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="ZARUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDCZK",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="CZKUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="USDDKK",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])
gym.add_handler(symbol="DKKUSD",screener="forex",exchange="FX_IDC",intervals=[Interval.INTERVAL_1_MINUTE,Interval.INTERVAL_1_DAY,Interval.INTERVAL_1_MONTH])

 

###################################################################################

 

Model started at 70 seconds per a cycle but self optimised from the neural plasticity and got it down to 50-55 seconds by pruning unused connections

 

It had a accuracy of 50.3% but this varied wildly over different tickers.

 

After a day of learning it had a compounding rate of return by 1.0878224541147614. I.e. if you gave it one dollar you might have 1 dollar and 8 cents at end of day. This value has collapsed a few times during learning to just below 1 when it makes a mistake but quickly recovers. 

 

This accuracy is statistically valid as across the 100+ different assets and involved 16727 trades in just over 24 hours.

 

Visual Data

 

Profit and ticker

 

 

Ticker and accuracy 

 

 

Compounding return on value per ticker. Note greater than 1 is profit less than one is a loss. It was mostly profitable.  It is mostly above 1 and in profit across all the planets currencies. 

 

 

ROI on trade over time shown to show it is going up the more experience the AI has. Action count means whether it is the first 2nd or 100th trade on a given asset.

 

 

Accuracy over time shown to show it is going up the more experience the AI has. Action count means whether it is the first 2nd or 100th trade on a given asset.

 

 

Date time and ROI

 

 

Accuracy over datetime to show stability and slight increase.

 

 

Conclusion 

 

I wanted to share this because I think it might be a scientific first of the use of a brain simulation as a financial system and the large scale use of neural plasticity as a learning process. Possibly but you know scientists and AI you think your smart but there is 100 people who write a white paper 10 years ago that are smarter. 

So yay me I guess... I built a brain its been my want to really understand what concious is or might be and while I think that word is poorly defined, very misused and I make no claim that I do really understand it in full. The creating of this project with the way it's neurones cascade and the signal could circulate or end really gave me a glimpse of that idea that its all just signals circling in miles of Neurones. It is a odd thought but which is more likely to be you are you the network of those neurones or the signal itself. 

I am quite non neural typical (I doubt you are surprised by this statement) and it has always made me think about the differences in brains. The idea that hits me when building this is if this little AI can reorder its own network how different are we from each other; then how surprising so much of our own brain topography looks so alike at the macro scale. We all have the same subnetworks but there sees something interesting in knowing the brain is rearranging itself as you read this trying to find newer and more stable connections. It was quite surprising the neural plasticity I built worked at all; It has been a bit of a milestone for me I guess getting this specific model working and showing it to be useful.

The other point I wanted to write this for is about the currency and trading itself. As AI continues to develop there is going to be a critical point where human values and decision making have less and less impact on the decisions that affect real world prices. Discussion about AGI is rife but we seem distracted by the AI in use for chat GPT and if that will be AGI. AI is a more broader subject it can be applied elsewhere, everywhere; potentially everything is algorithmically malleable. Your being told to use chat GPT at work but no one ever seems to answer the question of what happens when chat GPT decides the cost of your coffee or house?

If you do not think that has already happened you would have to conclude I must be some crazy genius to even build this or disbelieve me and think I am lying. It is just a thought but if the banks are using AI then the prices are being set with no thought to human values or well being. 

I built something similar before but this design is a leap in sophistication. I have jokingly thought of this as a fire and forget anti bank weapon as a joke about a anti tank weapon. But bots already exist this one is just very advanced and uses some interesting AI technology that I found online. I just thought this design was special because it shows so many odd features. 

I did look into the rules around selling signals and I am not in a position to do that because of FCA and HMRC rules. I am also markedly not that much of a trader. Also there is a good chance I even have to put a legal disclaimer it appears so its really clear I am not selling you a cryptocurrency. I'm not its after the references section... It appears technically that it could be illegal and might be classified as selling signals or advertising crypto if I did. I am required by law to direct you to ask a financial expert. Maybe they can write this type of AI for you...

 

References:

Self-sustaining non-repetitive activity in a large scale neuronal-level model of the hippocampal circuit. Brain simulation where they got a self re-firing system in a brain simulation. 

https://www.bing.com/search?pglt=297&q=self+sustaining+neurone+avalanche&cvid=c30cdb569b574b2d9af34df54e760b23&gs_lcrp=EgRlZGdlKgYIABBFGDkyBggAEEUYOdIBCDkwODZqMGoxqAIAsAIA&FORM=ANNTA1&PC=U531 

Blue brain project

Blue Brain Project - Wikipedia

 

Legal Disclaimer

 

All trading is wholly simulated based on data from a API. No real money has been made or spent. Even in the case of cryptocurrency which is arguably not real money according to Forex traders no financial transactions took place and all trades where on paper. In the case of Forex which cryptocurrency traders likewise do not believe to be "real money" the same applies. Either way this is all "imaginary" war gaming trading. I am quite too risk adverse to do any real trading with my own money mostly because of inflation.

General Information Only
The content provided on this blog is for informational and educational purposes only. It should not be construed as financial, investment, marital or legal advice. The opinions expressed herein are solely those of the authors and do not constitute professional guidance. You should consult with a qualified financial advisor, legal professional, or tax expert before making any trading or investment decisions.

No really I have no idea what I am doing and built a AI to make all those decisions. It does not talk so no idea what it is doing.

Regulatory Compliance
Trading in cryptocurrency, forex, and futures markets is subject to various regulations worldwide. Laws governing these markets differ across jurisdictions, and it is your responsibility to ensure compliance with the applicable laws in your country.

For readers in the United Kingdom, the Financial Conduct Authority (FCA) regulates financial services, including forex and certain cryptocurrency activities. Retail traders should be aware that cryptocurrency derivatives (such as futures and options) are banned for retail consumers in the UK. Additionally, forex and leveraged trading involve significant risks, and firms offering these services must be FCA-authorized.

The author is not a firm that offers anything. This is a blog.

Risk Disclosure
Trading cryptocurrencies, forex, and futures carries a high level of risk and may not be suitable for all investors. Markets are volatile, and there is a risk of losing your entire investment. Past performance is not indicative of future results. You should carefully consider your investment objectives, level of experience, and risk tolerance before engaging in trading.

It is the opinion of the author that the whole thing might be stochastic anyway but for some reason global empires, markets and systems of trade are based on these systems of which the author is required to provide this legal disclaimer. Makes you think...

No Guarantees or Endorsements
This blog does not guarantee the accuracy, completeness, or reliability of any information provided. The inclusion of any third-party links, products, or services does not constitute an endorsement. Readers should conduct their own research before engaging with any financial service providers or products.

My understanding is 99% of traders lose money or quit within a period of 5 years. 80% lose money in 180 days.  That sounds like gambling odds. Again why is the whole global economy underpinned by this? Who decided this and why?

No Liability
The authors, contributors, and owners of this blog disclaim all liability for any direct, indirect, incidental, or consequential damages that may arise from the use of the information provided. By accessing this blog, you agree that you assume full responsibility for your trading decisions.

Do not try this at home. You may lose said home. 

Changes to Disclaimer
This disclaimer may be updated periodically to reflect changes in laws and regulations. It is your responsibility to review this page regularly to stay informed about any modifications.

i.e. I probably will not change anything but I would like to have the option....

If you have any questions regarding this disclaimer, please contact us through the provided channels on this blog.

Last Updated: 20/03/2025

Add comment

Comments

There are no comments yet.