BLOG:  Digital Financial Reporting

This is a blog for information relating to digital financial reporting.  This blog is basically my "lab notebook" for experimenting and learning about XBRL-based digital financial reporting.  This is my brain storming platform.  This is where I think out loud (i.e. publicly) about digital financial reporting. This information is for innovators and early adopters who are ushering in a new era of accounting, reporting, auditing, and analysis in a digital environment.

Much of the information contained in this blog is synthasized, summarized, condensed, better organized and articulated in my book XBRL for Dummies and in the chapters of Intelligent XBRL-based Digital Financial Reporting. If you have any questions, feel free to contact me.

Entries from August 30, 2020 - September 5, 2020

Computational Professional Services

Audit, reporting, accounting, and analysis all have their issues and can be improved.

Technologies such as structured machine-readable information (such as XBRL), digital distributed ledgers, knowledge based systems, and artificial intelligence offers an unprecedented opportunity to create what I am calling Computational Professional Services.

Some people call this "smart regulation". Others call it "algorithmic regulation".  Still others us the term "rules as code". Some use the term "robo cop". Deloitte seems to use the term "finance factory".  The SEC has a vision. "Continuous audit" and "continuous reporting" fit into computational professional services.  Another term for all this is "finance transformation".

But, whatever you call it; many of the repetitive, monotonous, routine, mechanical, boring tasks and processes related to accounting, reporting, auditing, and analysis be performed by machines which will free up humans to do more interesting work. This transformation is about talent, not technology. (This begs the question as to whether accountants should learn to code)

Professional services is about rearranging abstract symbols that represent information and knowledge. Computers can help perform these tasks and processes much like a calculator helps accountants do math.

So how do you get computational professional services to work effectively?  Well, XBRL-based digital financial reporting to the SEC and ESMA offers a bunch of clues if you know where to look.  Check out the document on that first link.

Here is how you implement computational professional services.

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

AI for Services (Full Report 2020)

Center for Computational Thinking

Posted on Saturday, September 5, 2020 at 07:54AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Machine Learning vs Machine Understanding

Shawn Riley posted this article Machine Learning vs Machine Understanding which helps one understand the capabilities of artificial intelligence.

Here are all of Shawn's articles.

This video is particularly good at differentiating knowledge engineering and machine learning.

Posted on Thursday, September 3, 2020 at 10:03AM by Registered CommenterCharlie | CommentsPost a Comment | EmailEmail | PrintPrint

Gephi

Someone made me aware of Gephi today. Gephi is a free, open source, and pretty powerful graph/network visualization tool.  You can download it for free. (NOTE that there is generally an error when you install Gephi on Windows; the error is simple to fix, watch this video)

There are a bunch of tutorials.

To get started, I recommend these two videos: 

If you want even more, the person that created the two videos above created this video play list.

Gephi supports multiple formats including CSV.  While CSV is not really a graph, you can express nodes and edges in the CSV format and then import them into Gephi.  Two other graph formats are supported: Graph Modeling Language (GML) and Graph Exchange XML Format (GEXF).

Here are some sample data sets that you can use.

If you don't understand graphs, I recommend this Introduction to Graphs (Part 1) tutorial.

Gephi supports a lot of different formats. While Gephi does not support XBRL yet (maybe it will some day); you can convert XBRL presentation, XBRL calculation, and XBRL definition relations into one of the supported formats extremely easily.

Here is a graph of common concepts used to report current assets using US GAAP. You can turn that into this where the size, color, and width of the nodes and edges have meaning.

Posted on Wednesday, September 2, 2020 at 04:36PM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

Metalogic

Logic is a set of principles that forms a framework for correct reasoning. Logic is a process of deducing information correctly. Logic is about the correct methods that can be used to prove a statement is true or false. Logic tells us exactly what is meant. Logic allows systems to be proven.

The principles of logic are topic-neutral, universal principles which are more general than say the single domain of law, biology, mathematics, accounting, or economics. Logic has to do with the meaning of concepts common to all domains and establishes general rules governing concepts.

Logical truths are necessary. The principles of logic are derived solely using reasoning and the validity of the universal principles are not dependent on any other feature of the world.

Logic is the process of deducing information correctly; logic is not about deducing correct information. Understanding the distinction between correct logic and correct information is important because it is important to follow the consequences of an incorrect assumption. Ideally, we want both our logic to be correct and the facts we are applying the logic to, to be correct.

But the point here is that correct logic and correct information are two different things. If our logic is correct, then anything we deduce from such information will also be correct per the rules of logic.

Now, I have mentioned that there are a number different logic systems that could be used to represent a logical system: OWL+SHACL+RDF, Modern Prolog, ISO Prolog, Datalog, PSOA, GQL/Cypher, XBRL+More, SQL+More.

And so, can you prove the same things in one of the systems mentioned above in another one of the systems above?  Or saying this another way, is the logic of say OWL+SHACL+RDF equivalent to that of say Modern Prolog?

Enter the notion of metalogic.

Metalogic relates to the comparison between the logic of different systems. As pointed on in Specifying the Rule Metalogic on the Web, interoperability issues can become problematic if you are using different logics to perform work and evaluate two different logical systems such as two different financial report models. Both systems, although different software applications, should derive the same logical conclusions.

For things like computational law, computational audit, computational economics, and computational regulation to become useful; many different systems need to process the same information in exactly the same one standard way.  There needs to be some fundamental "baseline".

This becomes apparent with tools such as PSOA that can translate from one logical system to some other logical system.  It is absurd to think that simply by changing which software system is "looking" at information that the meaning of that information could change.

Posted on Wednesday, September 2, 2020 at 08:37AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint

PSOA

PSOA or Positional-Slotted Object-Applicative is a funny sounding but very important technology that was intentionally created by the not-for-profit organization RuleML Inc. to bridge the gap between different computing paradigms. RuleML is a industry standards organization focused on standard, global rule interoperability. RuleML is currently being specified as a Rule MetaLogic on the Web.

Many different techniques or paradigms have been created by humans for representing data, information, logic, knowledge, and models in forms that computers can interact with that data, information, logic, knowledge, and models.

PSOA was created to intentionally and consciously pull many of those specific important techniques together into one language creating what amounts to a universal translator: 

  • Storage and deduction of tabular-based information (e.g. relational database tables and views; logic programming facts and rules)
  • Storage and deduction of hierarchical-based or graph-based information (e.g. labeled property graphs like Neo4j and TigerGraph; knowledge graphs such as OWL+SHAQL+RDF)
  • Physical-like declarative structures, object oriented (OO-like) software objects
  • Logical structures, frames  

PSOA is a very expressive (i.e. powerful logic, Turing Complete) and relatively safe (i.e. problems can occur such as a decidability problem, but craftsmen understand and can work around those problems to effectively manage risk) language that bridges between these different techniques all in this one machine-readable language.

PSOA can thus act as an intermediate language for interoperating between long-established languages. Its own safety properties can be derived from those of its translators and target logic engines.

PSOA is a full programming logic language that is often referred to as Full Prolog.  Whereas "Pure Prolog" limits itself to Horn Clauses for safety and other reasons.  Datalog is an even more safe subset of that is intended to be consistent with relational databases.

Why is all this important?  If you want to implement things such as computational law, computational audit, computational economics, and computational regulation you need to be able to (a) express information symbolically and (b) process that information reliably, predictably, and effectively.  You want the MAXIMUM about of expressiveness and reasoning capability with the MINIMUM chance of catastrophic system failure (i.e. getting stuck in an infinite loop, never able to finish a process, decidability problems, logical paradoxes, and such).

Tools exist for working with PSOA. PSOATransRun is a browser-based tool.

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

Logical English as an Executable Computer Language

Logical English

Posted on Wednesday, September 2, 2020 at 07:06AM by Registered CommenterCharlie in | CommentsPost a Comment | EmailEmail | PrintPrint
Page | 1 | 2 | Next 5 Entries